티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/12911
- 해설 :
n이 주어졌을 때, n보다 큰 수들중 n과 이진수의 1 개수가 같은 가장 작은 수를 찾으면 된다.
- 풀이 :
숫자를 이진수로 변환하여 1의 개수를 카운트해서 리턴해주는 binary함수를 구현하고 c라는 변수에 n의 이진수 1 값의 개수를 넣어둔다. while문으로 n을 1씩 증가시켜가며 이진수 1의 개수가 c와 같은 값을 찾아서 리턴한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | def solution(s): stack = [s[0]] for i in s[1:]: if stack: if i == ")": if stack[-1] == "(": stack.pop() else: return False else: stack.append(i) else: stack.append(i) return False if stack else True | cs |
320x100
'Algorithm > Implementation' 카테고리의 다른 글
(Python) - 프로그래머스 : 핸드폰 번호 가리기 (0) | 2022.01.24 |
---|---|
(Python) - 프로그래머스 : 시저 암호 (0) | 2022.01.24 |
(Python) - 프로그래머스 : 방문 길이 (0) | 2022.01.21 |
(Python) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT) : [1차] 비밀지도 (0) | 2022.01.21 |
(Python) - 프로그래머스 : 모음사전 (0) | 2022.01.21 |
댓글
© 2022 WonSeok, All rights reserved