- 문제 : https://www.acmicpc.net/problem/1515
문제 이해
- 이해가 잘 되지 않아서 어떻게 풀어야할 지 몰랐던 문제다.
- 1부터 N까지 띄어쓰기 없이 주욱 붙인다음 거기서 임의로 숫자를 제거한 결과값이 입력값으로 주어진다. 이 때 주어진 값으로 역으로 가능한 최소 N을 출력하면 되는 문제다.
- 어떻게 풀어야 할지 감이 안 잡혀서 블로그를 찾아봤는데 1부터 숫자 하나씩 증가시키면서 숫자의 첫번째 값이 타겟 숫자의 첫번째와 일치하는지 비교하면서 진행하면 된다.
- 만약 첫번째 숫자들이 일치하면 두 숫자 모두 오른쪽으로 한 칸씩 더 이동하고, 일치하지 않는다면 후보 숫자만 오른쪽으로 이동시킨다.
- 더이상 비교할 타겟 숫자가 없을 때 카운트하고 있던 숫자를 출력해주면 된다.
정답 풀이
nums = input()
i = 0
while True:
i += 1
num = str(i)
while len(num) > 0 and len(nums) > 0:
if num[0] == nums[0]:
nums = nums[1:]
num = num[1:]
if nums == '':
print(i)
break
-참고한 블로그 : https://latte-is-horse.tistory.com/373
'백준' 카테고리의 다른 글
[백준/다익스트라] 4485번 : 녹색 옷 입은 애가 젤다지? (0) | 2024.02.06 |
---|---|
[문자열/백준] 20310번 : 타노스 (0) | 2023.06.14 |
[누적합/백준] 2167번 : 2차원 배열의 합 (0) | 2023.05.09 |
[누적합/백준] 2015번 : 수들의 합 4 (0) | 2023.05.09 |
[백준/queue] 1158번 : 요세푸스 문제 (0) | 2023.01.26 |