반응형

Algorithm 93

[프로그래머스/Python] 더 맵게 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 처음에 짠 코드를 까먹고 저장을 안해서 날려먹었지만... 일단 설명을 해보자면 scoville의 길이가 2이상일 때까지만 while문을 돌면서 최소값이 K이상이면 break를 하고 그렇지 않으면 "최소값1 + 최소값*2"를 계산하여 힙에 넣어주었습니다. 이렇게 코드를 짰더니 정확성 테스트에서 몇 개가 실패가 떴습니다.....ㅜ 질문하기에서 찾아보니 ..

[프로그래머스/Python] 다리를 지나는 트럭 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 처음에는 다리를 지난 트럭, 다리를 건너는 트럭 리스트를 따로 만들고, 각 트럭의 상태를 따로 저장해야되나 이런 저런 생각을 했다. 리스트도 너무 많고 너무 복잡해서 어디서부터 코드를 짜야할지 모르겠어서 검색해보니 다리를 건너는 트럭을 큐로 하면된다는 사실을 알고!! 그 뒤부터는 내가 코드를 짰다. 다리를 건너는 트럭 리스트를 큐로 구현하면 쉽게..

[프로그래머스/Python] 주식가격 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr def solution(prices): answer = [0] * len(prices) # 모두 0으로 만듬 # 가격이 떨어지지 않은 기간 계산 for i in range(0, len(prices)-1): for j in range(i+1, len(prices)): if prices[i] > prices[j]: answe..

[프로그래머스/Python] 프린터 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42587?language=python3 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): prList = [(p, i) for i, p in enumerate(priorities)] # 우선순위와 인덱스를 튜플로 묶어 저장 que = [] # 프린트될 순서의 인덱스 리스트 # 프린트될 순서 구하기 while prList: pList = [p for p, i i..

[프로그래머스/Python] 기능개발 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import math def solution(progresses, speeds): answer = [] day = [math.ceil((100 - p) / s) for p,s in zip(progresses, speeds)] # 각 작업 시간이 저장된 리스트 pop = 0 # 배포할 순서 값 (배포해야 할 첫번째 값) # 몇 개의 기능이 배포되는지 계산 ..

[프로그래머스/Python] 다트게임

https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr def solution(dartResult): bonus = {'S':1, 'D':2, 'T':3} answer = [] dartResult = dartResult.replace('10','k') # 10을 k로 바꿈 dartResult = ['10' if i == 'k' else i for i in dartResult] # 리스트로 저장 # 점수 합계 계산 i = -1 for d in dartResult: if d in 'SDT' : answer[i] = answer[i] ** bonus[d] elif d == '*': answer..

[프로그래머스/Python] 비밀지도

https://programmers.co.kr/learn/courses/30/lessons/17681?language=python3 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr def solution(n, arr1, arr2): answer = [] for b1, b2 in zip(arr1, arr2): result = format(b1 | b2, 'b') # OR연산한 후 이진수로 변환 result = result.rjust(n, '0') # 자리수를 맞춰줌 result = result.repla..

[프로그래머스/Python] 카펫 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr def solution(brown, yellow): width, height = 0, 0 for height in range(3, int((brown+4)/2)): width = ((brown + 4) / 2) - height if width < height: break; if yellow == (width - 2) * (height - 2): break; ..

[프로그래머스/Python] 소수 찾기 - Level2

https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr import itertools import math # 소수인지 확인하는 함수 def sosu(n): if n

[프로그래머스/Python] 모의고사 - Level1

https://programmers.co.kr/learn/courses/30/lessons/42840?language=python3 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr def solution(answers): person1 = [1,2,3,4,5] person2 = [2,1,2,3,2,4,2,5] person3 = [3,3,1,1,2,2,4,4,5,5] score = [0,0,0] answer = [] # 맞은 개수 계산 for i in range(len(answers)): if answers[i..

반응형