Programmers - 상호평가
https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차_상호평가 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 풀이 (y, x)-> y가 x를 평가한 점수 한명에 대한 평가들을 누적합하면서 최소값, 최대값, 최소값 갯수, 최대값 갯수를 확인 자기자신을 평가한 점수가 유일한 최고점/최저점이라면 그 점수를 제외하고 평균을 계산 - (자기 자신 점수==min/max) && (max/min_cnt==1) #i..
2021. 9. 14.
Programmers - 자물쇠와 열쇠(C++)
https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 풀이 자물쇠 크기 재할당 (2 x (열쇠크기-1) + 자물쇠크기) x (2 x (열쇠크기-1) + 자물쇠크기) 후 정중앙에 자물쇠 값 할당 더보기 재할당된 자물쇠에서 한칸씩이동, 90회전으로 모든 경우의 수를 탐색 - 열쇠의 사이즈만큼 자물쇠 배열에 + 연산 - 실제 자물쇠의 영역을 확인 -> 값이 1이 아니라면 return false - returen false로 빠져나가는 것이 없다면 return true ..
2021. 9. 5.
BOJ 12015 - 가장 긴 증가하는 부분 수열2(C++)
https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 풀이 벡터의 초기 상태 {0} 현재 입력 값이 벡터의 마지막 값보다 크면 -> 벡터에 push_back 작으면 -> lower_bound를 이용해 입력값보다 작거나 큰 위치를 찾아내서 교환 벡터의 초기값 0을 제외해야하기 때문에 v.size() - 1을 출력 더보기 ex) {10, 20, 30, 5, 10, 20, 30, 40} 0. {0} 1. 10 마지막 값보다 큼 {0, 10} 2. 20 마..
2021. 9. 2.