알고리즘61 [프로그래머스/Python] 피보나치 수 [프로그래머스/Python] 피보나치 수 ● 문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수입니다. 예를 들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. ● 소스코드 def solution(n): answer = 0 fibo = [0 for i in range(100001)] fibo.. 2021. 10. 9. [프로그래머스/Python] 부족한 금액 계산하기 [프로그래머스/Python] 부족한 금액 계산하기 ● 문제 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. ● 소스코드 def solution(price, money, count): answer = -1 answer = price * ((count) * (count + 1)/2) -.. 2021. 10. 4. [프로그래머스/Python] 완주하지 못한 선수 [프로그래머스/Python] 완주하지 못한 선수 ● 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. ● 소스코드 def solution(participant, completion): answer = '' participant.sort() completion.sort() length = len(participant) for idx, val in enumerate(participant): if idx == length .. 2021. 10. 4. [프로그래머스/Python] 음양 더하기 [프로그래머스/Python] 음양 더하기 ● 문제 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. ● 소스코드 def solution(absolutes, signs): answer = 123456789 tmp = [] for idx, val in enumerate(signs): if val == True: tmp.append(absolutes[idx] * 1) else: tmp.append(absolutes[idx] * -1) answer = sum(tmp) return answer ● 풀이 특별한.. 2021. 10. 4. [프로그래머스/Python] 로또의 최고 순위와 최저 순위 [프로그래머스/Python] 로또의 최고 순위와 최저 순위 ● 문제 민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어집니다. 이때, 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하도록 solution 함수를 완성해주세요. ● 소스코드 def solution(lottos, win_nums): answer = [] zero_num = 0 # 0의 갯수 correct_num = 0 # 맞춘 갯수 for i in lottos: if i == 0: zero_num += 1 continue elif i in win_nums != -1: correct_num += 1 # 최대 순위 : 맞춘갯수 + 0 갯수 만큼 맞춤 # 최소 순위.. 2021. 10. 4. [프로그래머스/Python] 콜라츠 추측 [프로그래머스/Python] 콜라츠 추측 ● 문제 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. ● 소스코드 def solution(num):.. 2021. 10. 3. 이전 1 2 3 4 5 6 7 8 ··· 11 다음