공부/📝 프로그래머스(126)
-
피보나치 수 - Python
1. 풀이 코드 def solution(n): right = 1 left = 1 for i in range(n-2): temp = right right += left left = temp return right % 1234567 # Test Cases print(solution(3)) print(solution(5)) for()문을 사용하여 작성했습니다.. 2. 다른 사람 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다. def fibonacci(num): a, b = 0, 1 for i in..
2023.10.15 -
삼총사 - Python
1. 풀이 코드 def solution(number): answer = 0 number.sort() for i in range(len(number) - 2): for j in range(i + 1, len(number) - 1): for k in range(j + 1, len(number)): if number[i] + number[j] + number[k] == 0: answer += 1 return answer # Test Cases print(solution([-2, 3, 0, -3, -5])) print(solution([-3, -2, -1, 0, 1, 2, 3])) print(solution([-1, 1, -1, 1])) for()문을 세 번 사용하여 검사했습니다. 2. 다른 사람 풀이 코드 d..
2023.10.14 -
예산 - Python
1. 풀이 코드 def solution(d, budget): d = sorted(d) sum_num = 0 for i in range(len(d)): sum_num += d[i] if sum_num > budget: return i return len(d) # Test Cases print(solution([1, 3, 2, 5, 4], 9)) print(solution([2, 2, 3, 3], 10)) 위와 같이 풀었습니다. 2. 다른 사람 풀이 코드 def solution(d, budget): d.sort() while budget < sum(d): d.pop() return len(d) 총합에서 하나씩 빼도록 접근했네요. 좋은 방식으로 보입니다. 프로그래머스: https://school.program..
2023.10.14 -
이진 변환 반복하기 - Python
1. 풀이 코드 def solution(s): zero = 0 count = 0 while s != '1': zero += s.count('0') s = s.replace('0', '') s = str(bin(len(s)))[2:] count += 1 return [count, zero] # Test Cases print(solution("110010101001")) print(solution("01110")) print(solution("1111111")) 차근차근 풀었습니다. 2. 다른 사람 풀이 코드 def solution(s): a, b = 0, 0 while s != '1': a += 1 num = s.count('1') b += len(s) - num s = bin(num)[2:] return..
2023.10.14 -
올바른 괄호 - Python
1. 풀이 코드 def solution(s): answer = [] for item in s: if item == '(': answer.append('(') else: if len(answer) == 0: return False elif answer.pop() == '(': pass else: return False return True if len(answer) == 0 else False # Test Cases print(solution("()()")) print(solution("(())()")) print(solution(")()(")) print(solution("(()(")) 위와 같이 스택으로 풀었습니다. 2. 다른 사람 풀이 def solution(s): answer = [] for ite..
2023.10.14 -
최솟값 만들기 - Python
1. 풀이 코드 def solution(A, B): return sum([a*b for a, b in zip(sorted(A), sorted(B, reverse=True))]) # Test Cases print(solution([1, 4, 2], [5, 4, 4])) print(solution([1, 2], [3, 4])) 간단하게 풀었습니다. 더보기 1) 틀린 코드 import numpy as np def solution(A, B): answer = float('inf') A_list = [] B_list = [] for i in range(len(A)): A_list.append(A[i - len(A):] + A[:i]) for i in range(len(B)): B_list.append(B[i - ..
2023.10.14 -
JadenCase 문자열 만들기 - Python
1. 풀이 코드 def solution(s): s = s.lower().capitalize() answer = '' for i in range(len(s)): if i != 0 and s[i - 1] == " ": answer += s[i].upper() else: answer += s[i] return answer # Test Cases print(solution("3people unFollowed me")) print(solution("for the last week")) 아는 내에서 재량껏 풀었습니다. 2. 다른 사람 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버..
2023.10.14