맛동산

(파이썬)백준 알고리즘 1065번 한수 본문

파이썬/알고리즘

(파이썬)백준 알고리즘 1065번 한수

오지고지리고알파고포켓몬고 2016. 12. 19. 21:39

백준 알고리즘 저지 1065번 문제 (https://www.acmicpc.net/problem/1065)



한수를 구하는 문제.

1~99까지는 원소의 개수가 2개 이하이므로 모두 한수에 속함.

그 이후는 111, 123 ... 등의 숫자가 등차 수열을 이룸


사실 더 좋은 방법이 있겠지만 1000보다 작은수(~999까지) 이므로 세자리 수 일때에 관한 함수를 만듬.

h - hundred, t - ten, o - one = 100의 자리, 10의 자리, 1의 자리를 뜻함(비루한 영어 실력에 눈물ㅜㅜ)



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
·¬
def·ct(i):¬
····count=0¬
····for·input·in·range(1,i+1):¬
········if(input<100):count+=1¬
········elif(input<1000):count+=func100(input)¬
········else:pass¬
····return·count¬
def·func100(num):¬
····h,t,o=str(num)[0],str(num)[1],str(num)[2]¬
····h,t,o=int(h),int(t),int(o)¬
····if·h-t==t-o:¬
········return·1¬
····else:¬
········return·0¬
n=int(input())¬
print(ct(n))¬
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


길을 헤메일 누군가를 위해 코드를 공유하지만 이 글을 보고 있다면 문제 해결방법을 충분히 고민한 뒤에 찾아보는 것이길 바람

(추가적으로 알고리즘은 현답은 있지만 정답이 없는 문제라고 생각함.. 더 나은 풀이법이 있다면 다같이 공유할 수 있었으면 좋겠음!)

Comments