Algorithm(CodeTree, Python)/완전탐색1
[코드트리 자리 수 단위로 완전탐색] 이상한 진수 2 python
by kurooru
2022. 11. 7.
# 입력
a = input()
# 함수들
# calc(num_list)
def calc(num_list):
# curr_sum
curr_sum = 0
# num_list의 길이(제곱 시작의 길이 구하기)
start_num = len(num_list) - 1
# 계산
for num in num_list:
# 1이라면
if num == 1:
# 제곱하여 추가
curr_sum += 2 ** start_num
# start_num 내려주기
start_num -= 1
# 0이라면
else:
# start_num 내려주기
start_num -= 1
# 반환
return curr_sum
# 설계
# 리스트로 관리
a_list = []
for i in a:
a_list.append(int(i))
# max_num
max_num = 0
# 하나씩 바꿔보기
for i in range(len(a)):
# 1이면
if a_list[i] == 1:
# 0으로 바꿔줌
a_list[i] = 0
# 최댓값 갱신
max_num = max(max_num, calc(a_list))
# 다시 돌려놓기
a_list[i] = 1
# 0이면
else:
# 1로 바꿔줌
a_list[i] = 1
# 최댓값 갱신
max_num = max(max_num, calc(a_list))
# 다시 돌려놓기
a_list[i] = 0
# 출력
print(max_num)