programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr from collections import deque def solution(prices): answer = [] prices = deque(prices) while(prices): p = prices.popleft() cnt = 0 for price in prices: cnt += 1 if p > price: break answer...
programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): answer = 0 priority = [] for i in range(len(priorities)): priority.append((priorities[i], i)) while(priority): max_p = max(priority) p = priority.pop(0) if p[0] != max_p[0]: pri..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): answer = 0 basket = [] cnt = -1 // basket의 길이를 저장하는 변수 for move in moves: for i in range(len(board)): if board[i][move-1] != 0: basket.append(board[i][move-1]) board[i][move-1] = 0 cnt += 1 if cnt >..
programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 7 7 7 7 7 3 8 10 15 10 15 10 15 10 15 8 1 0 -> 8 1 0 -> 18 16 15 -> 18 16 15 -> 18 16 15 2 7 4 4 2 7 4 4 2 7 4 4 20 25 20 19 20 25 20 19 4 5 2 6 5 4 5 2 6 5 4 5 2 6 5 4 5 2 6 5 25 30 27 26 24 def solution(triangle): answer = 0 length = len(triangle) for ..
programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 첫번째 집을 터는 경우에 마지막 집은 인접한 경우이기 때문에 털 수 없고, 마찬가지로 마지막 집을 터는 경우 첫번째 집을 털 수 없기 때문에 두 경우로 나눠서 계산 def solution(money): answer = 0 length = len(money) dp = [0] * length # 첫번째 집을 털고, 마지막 집은 안 터는 경우 dp[0] = money[0] dp[1]..
programmers.co.kr/learn/courses/30/lessons/42579?language=python3 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr dic : 장르별 재생 횟수가 저장된 딕셔너리 -> {'classic': 1450, 'pop': 3100} -> 정렬 후 [('pop', 3100), ('classic', 1450)] album : 장르별 노래의 재생된 횟수와 고유번호가 저장된 딕셔너리 -> {'classic': [[500, 0], [150, 2], [800, 3]], 'pop..
programmers.co.kr/learn/courses/30/lessons/42862# 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr def solution(n, lost, reserve): answer = 0 students = [1] * n for i in lost: students[i-1] -= 1 for i in reserve: students[i-1] += 1 for i in range(n): if students[i] == 0: if i != 0 and students[i-1] >= 2: stud..
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 def solution(array, commands): answer = [] for i in range(len(commands)): i, j, k = commands[i][0], commands[i][1], commands[i][2] tmp = sorted(array[i-1:j]) answer.append(tmp[k-1]) return answer