728x90
https://programmers.co.kr/learn/courses/30/lessons/12911
간단한 2랩문제.
bin함수를 통해서 2진수 문자열로 바꿔준 후에
2진수상태의 n과 next_num 각 자리의 합이 같으면 리턴
이 풀이 말고 count함수를 쓸 수있다. 문자열에 매개변수에 해당하는 문자가 몇 개 있나 리턴해줌
n_count = bin(n).count('1')
이렇게 쓰면 2진수 n에 있는 1의 갯수가 리턴됨!!!!!(쩌름)
각 자리의 합을 구해 푼 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
def solution(n):
answer = 0
next_num = n + 1;
while 1:
str_n = bin(n)
str_next = bin(next_num)
sum_bin_n = 0
sum_bin_next = 0
for a in range(2, len(str_n)):
sum_bin_n += int(str_n[a])
for b in range(2, len(str_next)):
sum_bin_next += int(str_next[b])
if sum_bin_n == sum_bin_next:
answer = next_num
break
else:
next_num += 1
print(answer)
return answer
solution(15)
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 2] n진수 게임 (파이썬/python) (0) | 2021.06.11 |
---|---|
[프로그래머스 LV 2 ] 올바른 괄호 파이썬/python (0) | 2021.06.10 |
[프로그래머스 LV 2 ] 땅따먹기 파이썬/python (1) | 2021.06.07 |
[프로그래머스 LV 2 ] 숫자의 표현 파이썬/python (0) | 2021.06.07 |
[프로그래머스 LV 2 ] 최댓값과 최솟값 파이썬/python (0) | 2021.06.07 |