Algorithm/COS
[COS Pro 1급, Python] 2차 3번 : 경품 당첨자를 구해주세요
JMcunst
2022. 2. 25. 10:04
728x90
문제 유형
빈칸
난이도
easy
Note
1. 문제를 빠르게 이해할 것. 차례대로 읽지 말고 문제를 적당히 읽고 예시를 본다.
Code
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
# 2차 3번
def func_a(n):
ret = 1
while n > 0:
ret *= 10
n -= 1
return ret
def func_b(n):
ret = 0
while n > 0:
ret += 1
n //= 10
return ret
def func_c(n):
ret = 0
while n > 0:
ret += n%10
n //= 10
return ret
def solution(num):
next_num = num
while True:
next_num += 1
length = func_b(next_num)
if length % 2:
continue
divisor = func_a(length//2)
front = next_num // divisor
back = next_num % divisor
front_sum = func_c(front)
back_sum = func_c(back)
if front_sum == back_sum:
break
return next_num - num
num1 = 1
ret1 = solution(num1)
print("solution 함수의 반환 값은", ret1, "입니다.")
num2 = 235386
ret2 = solution(num2)
print("solution 함수의 반환 값은", ret2, "입니다.")
※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
728x90