n개의 한수 찾기

박상영·2020년 5월 3일
0

n개의 한수 찾는 방법

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

우선 개인적으로 생각하기에 간단하면서 코드를 읽고 이해하기 가장 쉬운 방법이다.

def check(n):
	cnt = 0
    if (n < 100):
    		return n

우선 주어진 조건을 봤을때 1000 보다 작거나 같은 자연수 N이 주어진다.
하지만 한수는 1~99까지는 한수이기때문에 N의 값이 100미만 일땐 n의 값을 그대로 return 해주는 조건을 작성한다.

    else:
    	for i in range(100, (n + 1)):

그러고나서 i에 100부터 n+1의 범위를 지정하여 값을 지정한다. 앞선 if문에서 이미 100미만은 값을 return 했기 때문에, 따라서 시작 범위는 100이상 부터 시작한다.

		hund = (i // 100)
    		ten = (i % 100) // 10
        	one = (i % 100) % 10

그러고나서 각 백의자리, 십의자리, 일의자리 를 지정한다.

		if ((ten - one) == (hund - ten)):
        		cnt += 1
       	return (99 + cnt)

십의자리와 일의자리의 차이와 백의자리와 십의자리의 차이가 같으면 cnt에 1씩 더하여 한수의 갯수를 구한다
그다음 1~99는 이미 한수 이기때문에 99+cnt 를 리턴하여 값을 보낸다.

profile
backend

0개의 댓글