Algorithm
-
[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..
-
[Algorithm] 프로그래머스 C++ : 가장 큰 수Algorithm 2020. 8. 18. 18:36
https://programmers.co.kr/learn/courses/30/lessons/42746# 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 �� programmers.co.kr 원래는 next_permutation을 써서 전체 경우의 수에 대해 계산을 했는데 자꾸 실패가 떠서 사용자함수로 sort하는 방법을 알게 됐다 cmp함수를 만들어서 sort()에 넣어주면 된다 이 경우 두 숫자의 우위를 정하는 방법은 스트링두개를 합쳤을 때, 더 큰 수가 우위를 점하게 되는 ..
-
[Algorithm] 프로그래머스 C++ : K번째수Algorithm 2020. 8. 17. 15:31
https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr Level1 문제는 풀 때마다 즐겁다.. 빨리 풀려서.. (짱쉬우니까..) 암튼 그냥 문제 condition에 맞춰서 주어진 commands 명령들을 반복문으로 하나씩 돌면서 answer에 답을 추가해주면 된다. 벡터 index만 잘 맞춰서 리턴하면 되는 문제 Code #include #include #include #include using namespace std; vector solution(vector array, vec..
-
[Algorithm] 프로그래머스 C++ : 이중우선순위큐Algorithm 2020. 8. 15. 21:36
https://programmers.co.kr/learn/courses/30/lessons/42628# 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 이중우선순위큐는 그냥 두개의 우선순위큐를 오름차순, 내림차순으로 만들고 가상으로 관리한다. 두개를 똑같이 관리하면서 이중우선순위큐에 몇개의 원소가 남았는지 cnt에 저장해놓는다. (가상의 이중우선순위큐가 비어도 두개의 큐는 그냥 우선순위큐라서 비지 않으니까) "D 1"일 땐 최댓값 내림차순 우선순위큐에서 pop하고 cnt를 1 감소시키고 "D -1"일 땐 최솟값 오름차순 우선순위큐에서 pop하고 cnt를 1 감소시킨다. Code #include #include #include #include #include using namespace ..