Programmers
-
[Python] Programmers 행렬 테두리 회전하기알고리즘/문제풀이 2021. 7. 24. 19:24
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 2. 문제 요약 해당 위치를 시계 방향 회전한다. 회전에 의해 바뀐 숫자 중 가장 작은 숫자를 배열에 담아 리턴한다. 3. 아이디어 정리 시계 방향으로 회전하기 아래 그림과 같은 로직으로 진행된다. 왼쪽 > 오른쪽, 위 > 아래, 오른쪽 > 왼쪽, 아래 > 위 순서로 swap 하면서 진행한다. 회전한 숫자 중 최소값 찾기 4. ..
-
[Python] Programmers 순위 검색알고리즘/문제풀이 2021. 7. 17. 21:23
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/72412 총 16가지 종류 for i in info: i = i.split() case = get_combinations(i) for c in case: all_info[c].append(int(i[-1])) # 2. dict에 있는 리스트 점수를 이분 탐색해서 구하기 위해 sorting for k in all_info.keys(): all_info[k].sort() # 3. 쿼리 하나씩 돌려 해당 조건에 있는 dict를 찾아 이분탐색으로 점수에 맞는 사람 찾기 for q in query: q = q.replace("and","").split() score = int(q.pop()) q = ""...
-
[Python] Programmers 광고 삽입알고리즘/문제풀이 2021. 7. 17. 21:17
1. 문제 링크 코딩테스트 연습 - 광고 삽입 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 2. 문제 요약 시청자들의 누적 재생시간이 가장 많은 곳 찾기 ⇒ 누적합으로 구하기 [입력값] play_time: 동영상 끝나는 시간 adv_time: 공익광고 재생 시간 logs: 시청자들 시청하는 구간 [리턴 값] 광고 삽입할 시작 시간 - HH:MM:SS (str) 3. 아이디어 정리 누적합으로 해당 구간에 몇 명이 시청하는지 구한다. 초 ..