728x90
반응형
SMALL
https://www.acmicpc.net/problem/1436
제출코드
N = int(input())
end_num = 666
N_list = []
count = 0
while True:
if '666' in str(end_num):
N_list.append(end_num)
count += 1
if count == N:
break
end_num += 1
print(N_list[count-1])
코드 설명 및 문제풀이
N을 정수형으로 입력받아서
end_num을 666으로 초기화해주고, 666이들어간 숫자를 저장하기 위한 빈 N_list초기화, N번까지 돌기위한 count초기화
무한반복문으로
'666'이 str로 변한 end_num에 들어있으면 N_list에 end_num값을 append해주고 count를 1 증가시킨다.
count값이 N과 같으면 무한반복문 탈출
end_num은 무조건 1씩 증가시킴
이러면 666이들어간 end_num이 N_list에 다 담긴다. 그래서 N_list의 count값이 마지막 end_num이기때문에 count에서 -1번째 인덱스 값을 출력
느낀점
맨 처음에는 1666 2666 3666 이런식으로 늘어나는거만 생각해서 (N-1)*1000을 해서 했는데 대차게 실패했다. 그래서 인터넷을 찾아보던 중 6660도 666이 된다는 것을 알았다. 하지만 아무리해도 생각이 나질 않아서 서핑을 하면서 했다. 아직 알고리즘에 대해 많이 부족함을 느꼈다
728x90
반응형
LIST
'백준[파이썬]' 카테고리의 다른 글
[백준/Python] 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2025.01.20 |
---|---|
[백준/Python] 1427 소트인사이드 (0) | 2024.10.18 |
[백준/Python] 14215 세 막대 (0) | 2024.10.17 |
[백준/Python] 2941 크로아티아 알파벳 (0) | 2024.10.17 |
[백준/Python] 3009 네 번째 점 (0) | 2024.10.16 |