Development Artist

[COS Pro 1급, Python] 2차 3번 : 경품 당첨자를 구해주세요 본문

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
반응형
Comments