Programmers - 최소직사각형(C++)
https://programmers.co.kr/learn/courses/30/lessons/86491?language=cpp 코딩테스트 연습 - 8주차 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 풀이 명함을 90도 회전하여 보관할 수도 있으므로 가로길이, 세로길이가 고정적이지 않음 가로길이->세로길이, 세로길이->가로길이로 변경하여 보관할 수 있음 - vector의 요소마다 {큰 값, 작은 값}의 형식으로 변경 - vector의 각 요소의 0번째, 1번째값의 최대값을 구함 -> 요건을 만족하는 지갑의 사이즈 #include #include..
2021. 9. 29.
Programmers - 퍼즐 조각 채우기(C++)
≠https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 3주차_퍼즐 조각 채우기 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr 풀이 각 조각간의 비교만 하면 됨 1. 퍼즐과 빈 공간 나누기(BFS), 위치 정보 변환 ex 2. 각 조각 비교 2-1...
2021. 9. 24.
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.
Programmers - 광고삽입(C++)
https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 풀이 완전 탐색의 경우 O(N(전체 구간 길이) x M(광고의 길이)) 시간을 초단위로 1초씩 이동 -> 구간의 합을 계산 O(N)으로 계산 1. logs에 대해 초로 변환, 시작 - 끝 값에 대해 재생 사람수 카운트 2. 0~(동영상 길이-광고 길이)에 대해 한 칸씩 슬라이딩을 옮기며 최대..
2021. 8. 24.