https://www.acmicpc.net/problem/1515
1515번: 수 이어 쓰기
세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다. 세준
www.acmicpc.net
문제
세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다.
세준이는 저녁을 먹으러 갔다 와서, 자기가 쓴 수의 일부가 지워져있는 모습을 보고 충격받았다.
세준이는 수를 방금 전과 똑같이 쓰려고 한다. 하지만, N이 기억이 나지 않는다.
남은 수를 이어 붙인 수가 주어질 때, N의 최솟값을 구하는 프로그램을 작성하시오. 아무것도 지우지 않을 수도 있다.)
입력
첫째 줄에 지우고 남은 수를 한 줄로 이어 붙인 수가 주어진다. 이 수는 최대 3,000자리다.
출력
가능한 N 중에 최솟값을 출력한다.
내 풀이
# 31120kb 76ms
이번 문제는 정말 어려웠다.
문제가 어려웠던 건 아닌데 그 기준에 맞게 코드를 작성하는게 어려웠다.
꼭 예제 1개 정도는 틀리기 일쑤였다.
결국 인터넷에 힘을 받아 참고하여 풀었다.
number = input()
kijun = 1
i = 0
while i < len(number):
temp = str(kijun)
for j in range(len(temp)):
if i >= len(number):
break
if temp[j] == number[i]:
i += 1
kijun +=1
print(kijun-1)
메모
그리디 알고리즘
'파이썬 알고리즘 연습' 카테고리의 다른 글
[Python | 백준 1783번] 병든 나이트 (0) | 2024.04.23 |
---|---|
[Python | 백준 11478번] 서로 다른 부분 문자열의 개수 (0) | 2024.04.23 |
[Python | 백준 1431번] 시리얼 번호 (0) | 2024.04.23 |
[Python | 프로그래머스] 2022 KAKAO : 두 큐 합 같게 만들기 (0) | 2024.04.23 |
[Python | 백준 1270번] 전쟁 땅따먹기 (0) | 2024.04.23 |