[프로그래머스] 피보나치 수 굳이... 재귀로 해서... import sys sys.setrecursionlimit(200000) li = [0,1] + [ -1 for _ in range(100000)] def solution(n): if li[n] != -1 : return li[n] li[n] = (solution(n-1)%1234567 + solution(n-2)%1234567)%1234567 return li[n] 알고리즘 2023.06.03
[프로그래머스] 다음 큰 숫자 def solution(n): n_bin_cnt = bin(n).count('1') for i in range(n+1, 1000001): if n_bin_cnt == bin(i).count('1'): return i 알고리즘 2023.06.03
[프로그래머스] 이진 변환 반복하기 def solution(s): binary_cnt = zero_cnt = 0 while s != '1': zero_cnt += s.count('0') s = bin(len(s.replace('0', ''))).lstrip(('0b')) binary_cnt += 1 return [binary_cnt, zero_cnt] 알고리즘 2023.06.02
[프로그래머스] 올바른 괄호 def solution(s): answer, li = True, [] for i in s: if i == '(': li.append(i) else: if len(li): li.pop() else: answer = False break if len(li): answer = False return answer 알고리즘 2023.06.02
[프로그래머스] 최솟값 만들기 def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for i in range(len(A)): answer += A[i]*B[i] return answer 알고리즘 2023.06.02
[프로그래머스] 최댓값과 최솟값 def solution(s): answer = '' li = [int(i) for i in s.split()] answer = "%d %d"%(min(li), max(li) ) return answer 알고리즘 2023.06.01
[프로그래머스] JadenCase 문자열 만들기 코드 def solution(s): answer = [(i[0].upper()+i[1:].lower() if i else i ) for i in s.split(" ")] return ' '.join(answer) 알고리즘 2023.06.01