1436 | 영화감독 숌 | 실버 V
https://www.acmicpc.net/problem/1436


내 코드
N = int(input())
nums = []
i = 3
while sum(nums) < N:
nums_len = 0
for left in range(i-3 + 1):
print("i:", i)
right = i-3-left
print(left, right)
if left == 0:
left_nums = 1
else:
left_nums = 9 * (10**(left-1))
right_nums = 10**right
nums_len += left_nums * right_nums
print("--------------------")
print("xxxxxxxxxxxxxx")
nums.append(nums_len)
i += 1
con_nums = []
first_nums = list(range(1,10))
not_first_nums = list(range(0,10))
for left in range(i-3 + 1):
right = i-3-left
if left == 0:
for left_first_num in first_nums:
for right_num in not_first_nums:
if left == 0
- 매우 복잡하게 생각함
- 조건 N 10,000 이하의 숫자로 범위가 작기 때문에 '666'이전, 이후에 들어갈 값을 계산하는 코드를 작성하려고 했으나 실패
이상 코드
N = int(input())
x = 666
while N:
if '666' in str(x):
N -= 1
x += 1
print(x-1)
- '666' 자체가 str(x) 안에 있는지 계산하면 되는 아주 간단한 문제
학습
- 무턱대고 문제부터 풀지 말고 여러가지로 문제에 접근하는 방법을 고민한 다음 풀기
반응형
'Algorithm > BOJ' 카테고리의 다른 글
| [BOJ][#] 1920 | 수 찾기 (0) | 2022.01.24 |
|---|---|
| [BOJ] 1918 | 후위 표기식 (0) | 2022.01.21 |
| [BOJ] 2846 | 오르막길 (0) | 2022.01.19 |
| [BOJ] 1929 | 소수 구하기 (0) | 2022.01.13 |
| [BOJ] 2609 | 최대 공약수와 최소 공배수 (0) | 2022.01.04 |
댓글