본문 바로가기

전체 글102

[Programmers / Level2] 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): s_list = list(s) idx = 0 while True: if idx == len(s_list): break if idx >= 1 and (s_list[idx] == s_list[idx-1]): del s_list[idx-1:idx+1] idx = 0 continue idx += 1 if not s_list: return 1 return 0 -> 단순하게 문.. 2024. 1. 19.
[Programmers / Level2] 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def fibonacci(n): fib_arr = [0] * 100001 fib_arr[1] = 1 for i in range(2, n+1): fib_arr[i] = fib_arr[i-2] + fib_arr[i-1] return fib_arr[n] def solution(n): return fibonacci(n) % 1234567 -> good old friend 피보나치 수 문제였다 dp로 푸는.. 2024. 1. 18.
[Programmers / Level2] 숫자의 표현 https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): result = 0 for start in range(1, n+1): summation = 0 for i in range(start, n+1): summation += i if summation == n: result += 1 break elif summation > n: break return result 브루트포스 문제인데 문제를 이상하게 읽었다. 연속한 자연수라.. 2024. 1. 17.
[Programmers / Level2] 이진 변환 반복하기 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def binary_transformation(s): total_zero, total_cnt = 0, 0 new_s = list(s) while True: if new_s == '1': break cnt_zero, cnt_one = new_s.count('0'), new_s.count('1') total_zero += cnt_zero new_s = format(cnt_one, 'b') total_.. 2024. 1. 16.
[Programmers / Level2] 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): stack, s_list = 0, list(s) for i in range(len(s_list)): if s_list[i] == '(': stack += 1 elif s_list[i] == ')' and stack: stack -= 1 else: return False if stack: return False else: return True 클래식한 괄호스택문제 li.. 2024. 1. 15.
[Programmers / Level2] JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): s_list, result = list(s.split()), [] for token in s_list: token_list = list(token) if token_list[0].islower(): token_list[0] = token_list[0].upper() for i in range(1, len(token_list)): if token_list[i].isup.. 2024. 1. 14.
반응형