728x90
반응형
https://www.acmicpc.net/problem/1436
1436번: 영화감독 숌
666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타
www.acmicpc.net
code
n = int(input())
i = 0
num = 666
while True:
if '666' in str(num):
i += 1
if i == n:
print(num)
break
num += 1
이번문제는 조건을 확인하고 난후에 처음든 생각은 무수히 많은 수들을 언제 다 탐색하지 였다.
처음에 난 아래와 같이 무수히 많은 수를 하나씩 탐색해 666이 들어갔다면 순서대로 배열에 넣어서 원하는 순서의 값을 찾았다.
n = int(input())
a=[]
for i in range(666,10000**2):
if '666' in str(i):
a.append(i)
print(a[n-1])
이러다 보니 당연히 컴파일러에서도 엄청난 시간이 걸리고 백준에서도 오류가 떴다.
게다가 수 끝 값을 임의로 10000**2로 설정하였는데 n이 10000일때 저 수를 넘을 수도 있어 제대로된 코드가 아니다.
그래서 조금 더 쉽게 생각한건 시작은 666으로 고정임으로 666부터 1씩 더해가는 수에 666이 들어간다면 num변수에 저장하는 식으로 진행하였다.
수를 찾을때마단 i로 카운트해 입력받은 n까지만 찾았다.
이러다 보니 불필요한 수들을 검색할 시간을 줄여 풀어낼 수 있었다.
728x90
반응형
'알고리즘 > 백준[baekjoon]' 카테고리의 다른 글
[baekjoon] 1181번 : 단어 정렬 by python (0) | 2022.03.07 |
---|---|
[baekjoon]11651번 : 좌표 정렬하기2 by python (0) | 2022.03.07 |
[baekjoon] 2447 별찍기 -10 by python (0) | 2022.03.01 |
[baekjoon] 1018번 : 체스판 다시 칠하기 by pyhton (0) | 2022.03.01 |
[BaekJoon] 2108번: 통계학 by python (0) | 2022.02.28 |