본문 바로가기

programmers11

[Programmers / Level2] 점프와 순간이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): cnt = 0 while True: if n == 0: return cnt elif n % 2 == 1: n = n - 1 cnt += 1 else: n = n // 2 -> 맞게 접근한 것 같은데 결을 못 맺어서 아쉽다. 짝/홀 에 대한 판단은 섰었는데 그리디한방법을 bottom-up으로 접근해서 많이 해맸다. 채찍선생님은 아래와 같이 dp로도 풀 수 있다고 말씀하.. 2024. 1. 20.
[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/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/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.
반응형