전체 글
-
[Algorithm] 프로그래머스 C++ : 네트워크Algorithm 2020. 9. 1. 16:26
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr 그래프의 개수를 구하는 문제 평소 하던대로 dfs를 돌리고 dfs가 한번 다 돌아갈때마다 그래프가 1개이기 때문에 그때마다 answer를 +1 해준다 Code #include #include using namespace std; int check[200]; void dfs(int x, int n, vector computers) { check[x] = ..
-
[Algorithm] 프로그래머스 C++ : 타겟 넘버Algorithm 2020. 9. 1. 01:03
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 재귀함수를 이용한 dfs를 사용해 되는 문제 재귀함수에 sum과 idx와 방문하는 숫자(x)를 넘긴다. 재귀함수는 방문하는 숫자(x)를 sum에 더하면서 시작한다. 이후에 1. numbers[idx]에 -1을 곱한 걸로 dfs 재귀함수에 넘기고 2. 그냥 numbers[idx]를 dfs 재귀함수에 넘긴다. 그..
-
[Algorithm] 프로그래머스 C++ : 체육복Algorithm 2020. 8. 27. 21:56
https://programmers.co.kr/learn/courses/30/lessons/42862# 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 학생들의 체육복 개수를 담고있는 벡터 v를 만들고 0. 모든 학생이 v값이 1이라고 넣고 1. reserve에 학생이 속하면 +1 2. lost에 학생이 속하면 -1 이후 lost에 속한 학생들중 체육복의 수(v)가 0인 애들(n)만 앞쪽 번호 학생(n-1) 뒷쪽 번호 학생(n+1)을 if/else if로 체육복이 2개인지 확인하면서 2개이면 그 학생 체육복 ..
-
[Algorithm] 프로그래머스 C++ : 카펫Algorithm 2020. 8. 27. 03:26
https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr yellow가 어떤 가로와 세로 크기를 가지느냐에 따라 brown이 자동으로 정해지기 때문에 yellow가 가질 수 있는 모든 가로x세로 조합을 찾아준다 for문을 1부터 yellow/2까지 돌면서 yellow의 약수이면 그때의 가로(w) 세로(h)값을 정해주고 (단, 가로의 값은 항상 세로의 값보다 크거나 작다는 조건이 있다 if로 걸어주자) 그에 따..
-
[Algorithm] 프로그래머스 C++ : 소수 찾기Algorithm 2020. 8. 25. 21:30
https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 � programmers.co.kr numbers를 내림차순으로 정렬하고 그 수까지 is_prime 함수를 통해 소수 여부를 다 v에 넣어놓는다 이때 소수가 아니면 -1, 소수이면 1로 넣어놓고 이후 next_permutation으로 다시 오름차순으로 정렬된 numbers를 돌면서 소수가 아니고 체크가 됐으면 0, 소수고 체크 됐으면 2로 v 값을 바꿔준다. (answers 중복..
-
[Algorithm] 프로그래머스 C++ : 모의고사Algorithm 2020. 8. 24. 18:25
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 배열을 세가지 미리 세팅해놓고 인덱스를 i%(배열의크기)로 반복하면서 answer과 맞는치 체크한다 Code #include #include #include #include using namespace std; vector solution(vector answers) { vector answer; int n1[5] = {1, 2, 3, 4, 5}, n2[8..
-
[Algorithm] 프로그래머스 C++ : H-IndexAlgorithm 2020. 8. 19. 16:59
https://programmers.co.kr/learn/courses/30/lessons/42747# 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr h가 citations의 배열에 있는 숫자가 아닐 수도 있다는 걸 놓쳐서 시간이 더 걸린 문제 일단 citations를 정렬하고 그냥 while&for문 브루트포스로 h가 0부터 1씩 늘어날 때마다 h보다 큰 수가 몇개인지 cnt로 세고 h>cnt일때 break걸고 그때의 h값부터 안되는거니까 h-1이 답이 됨 Code #inc..