반응형
https://www.acmicpc.net/problem/1515
수 이어 쓰기 문제
이어 써 나간 숫자의 일부를 가 빠졌을 때, 이 숫자로 만들 수 있는 최소 이어 붙인 수 N의 값을 구하는 문제
구현 + 브루트포스 문제로 하나씩 더해나가면서 대조해 가면서 찾는 문제이다.
⚙️내가 푼 정답 코드
import sys
S = sys.stdin.readline().strip()
n = 0
while len(S):
n += 1 # 1칸씩 찾기
num = str(n)
while len(num) and len(S): #둘 다 아직 숫자가 있고
if num[0] == S[0]: #만약 n의 앞자리가 S의 앞자리랑 같으면
S = S[1:] # 앞자리 잘라내
num = num[1:] # 앞자리 이동
print(n)
📌문제 접근 포인트
1. 받은 S가 몇까지 이어 붙인 수의 해당하는 값인지 찾아야 한다. 그렇다면 하나씩 늘려가면서 대조해 보자.
2. 1234567891011.. 이렇게 쭉 이어 붙여가는 수에서 찾으려면 n=1 일 때부터 시작해서 앞자리 하나씩 비교하면 된다.
3. n의 앞자리부터 S랑 같은지 대조해 보고, n의 앞자리랑 S가 같으면 그 숫자 S에서 빼버리는 식으로 해서 S가 최종적으로 빈칸이 될 때까지 반복해서 대조해 주면 어렵지 않게 찾을 수 있다.
반응형
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[백준 13977] 이항 계수와 쿼리 (python) (0) | 2023.04.07 |
---|---|
[백준 13949] 쉬운 문제 (python) (0) | 2023.04.07 |
[백준 11402] 이항 계수 4(python) (0) | 2023.04.03 |
[백준 2877] 4와 7 (python) (0) | 2023.04.03 |
[백준 22863] 원상 복구 (large) (python) (0) | 2023.03.31 |
댓글