728x90

프로그래머스 20

[프로그래머스] level2 - 프린터 : 파이썬(Python) 풀이

문제 프린터 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 코드 from collections import deque def solution(priorities, location): cnt = 0 priorities = deque(priorities) prioritie1 = deque([0]*len(priorities)) prioritie1[location] = 1 while(1): if(len(priorities) == 1): cnt += 1 break else: num = priorities.poplef..

코딩코딩 2020.09.16

[프로그래머스] level2 카펫 - 파이썬(Python) 풀이

문제 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 코드 # 2,3,8,9,10 실패 answer = [] for i in range(1, yellow+1): if 2 * (int(yellow / i) + 2) + (i * 2) == brown: answer = [int(yellow/i+2) ,i+2] break answer def solution(brown, yellow): answer = [] for i in range(1, yellow+1): if yellow / i == int(yellow ..

코딩코딩 2020.09.13

[프로그래머스] level2 스킬 트리

문제 코딩테스트 연습 - 스킬트리 programmers.co.kr 코드 def search(a,b): c = list(b) d = 1 for i in range(len(c)-1,-1,-1): if(c[i] not in a): del c[i] if(len(c) == 0): d = 1 else: for i in range(len(c)): if(c[i] != a[i]): d = 0 return d def solution(skill, skill_trees): answer = 0; skill = list(skill) for i in range(len(skill_trees)): answer += search(skill,skill_trees[i]) return answer 코드풀이 skill : 선행되야 할 스킬 s..

코딩코딩 2020.09.09

[프로그래머스] level1 완주하지 못한 선수

문제 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 코드 import collections def solution(participant, completion): answer = collections.Counter(participant) - collections.Counter(completion) return list(answer)[0] 코드풀이 매우 짧다. # collections.Counter() 배열의 원소들을 세주는데 특화되어 있다. 중복되는 원소가 있으면 그 원소들의 개수도 나..

코딩코딩 2020.09.02

[프로그래머스] level2 더 맵게 - 파이썬(Python)

문제 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 코드 import heapq def solution(scoville, K): heapq.heapify(scoville) first = heapq.heappop(scoville) length = len(scoville) if(first >= K): return 0 elif(length == 1 and scoville[0] < K): return 1 else: for i in range(1, length): second = heapq.heapp..

코딩코딩 2020.08.28

[프로그래머스] level2 다리를 지나는 트럭 - 파이썬(Python)

문제 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 코드 def solution(bridge_length, weight, truck_weights): time = 1; n = 1; stack = [truck_weights[0]]; total = truck_weights[0] if(len(truck_weights) == 1): time = bridge_length + 1 elif(sum(truck_weights)

코딩코딩 2020.08.27

[프로그래머스] level2 프린터

문제 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 코드 from collections import deque def solution(priorities, location): cnt = 0 priorities = deque(priorities) prioritie1 = deque([0]*len(priorities)) prioritie1[location] = 1 while(1): if(len(priorities) == 1): cnt += 1 break else: num = priorities.popleft() ..

카테고리 없음 2020.08.24

[프로그래머스] level2 주식가격 - 파이썬(Python)

문제 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 코드 # 효율성 1,2,3,4,5 실패 import numpy as np def solution(prices): answer = [] prices = np.array(prices) for i in range(len(prices)-1): if(prices[i] Deque --> 결국 for...

코딩코딩 2020.08.23

[프로그래머스] level1 문자열 내 마음대로 정렬하기 - 파이썬(Python)

문제 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1� programmers.co.kr 코드 string = [] def swap(strings, x, y): strings[x], strings[y] = strings[y], strings[x] def solution(strings, n): for i in range(len(strings)): string.append(strings[i][n]) for size in reversed((range(len(strings)))): for..

코딩코딩 2020.08.22

[프로그래머스] level1 크레인 인형뽑기 게임 - 파이썬(Python)

문제 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr level1 크레인 인형뽑기 코드 def solution(board, moves): new_board = []; bucket = []; count = 0 for i in range(len(board[0])): new_board.append([]) for j in range(len(board)): new_board[i].append(board[j][i]) for i in moves: for j in range(len(new_board[0])): if(new_board[i-1][j] > 0 and count == 0): bucket.append(new_board[i-1][j]) new_board[i-1][j..

코딩코딩 2020.08.19