728x90
분명 모든 테스트 케이스는 다 제대로 된 답변이 뜨는데 왜 이 문제는 정답이 아니라고 할까?
라고 생각을 했었다
하지만 이는 문제를 또다시 제대로 읽지 못 한 나의 잘못으로 인해 쌩 고생을 하게 되었고,
결국 생각지도 못한 곳에서 해결방법을 찾아내었다
문제
문제 발생 지점
- 여기서 나는 모든 케이스에 대한 알고리즘을 잘 풀었었다
- 하지만 '입력은 여러 개의 테스트 케이스로 이루어져 있다'에 대한 부분을 간과하였고, 이 부분을 해결하자 문제가 해결되었다
코드 작성
# 풀이 추가
# try, except는 이런 문제처럼 테스트 케이스가 여러 개 들어가있지만 몇 개 들어간다고
# 명시되지 않은 테스트에서 사용할 수 있다 while로 감싸고 try: except EOFError: 을 활용해보자
while True:
try:
# 문자열 둘 입력받기
s, t = map(str, input().split())
count = 0
answer = 'No'
# Yes가 될 상황만 고려해본다
# s와 t를 비교해보는 반복문, s에는 count를 통해 하나씩 증가시켜보면서 t하고 비교해본다
# 다르다면 t의 그 다음 문자부터 비교해보는 느낌으로 반복한다
for i in range(len(t)):
if s[count] == t[i]:
count += 1
else:
continue
# count는 사이에 있는 문자가 달라도 끝까지 비교했을 때 길이가 같으므로 Yes에 충족된다
if count == len(s):
answer = 'Yes'
break
print(answer)
except EOFError:
break
해답은 While 문으로 무한 반복 시킨 이후 안에서 try: except: 를 이용해서 계속 테스트를 진행하는 코드를 짜는 것이었다
이 부분에 대해서 완전히 간과하고 있었다보니 뭔가 삽질을 한 기분이 들기도 했다
하지만 이 삽질이 의미가 있었을 것이기에 나는 만족한다
실행 및 마무리
정상적으로 출력 되는 모습을 볼 수 있다!
End
728x90
'Coding Test > BaekJoon_Python' 카테고리의 다른 글
BaekJoon - 1012번: 유기농 배추 (그래프, 탐색) (0) | 2023.02.15 |
---|---|
BaekJoon - 2667번: 단지번호붙이기 (그래프, 탐색) (0) | 2023.02.15 |
BaekJoon - 14584번: 암호 해독 (문자열, 브루트포스 알고리즘) (0) | 2023.02.11 |
BaekJoon - 5597번: 과제 안 내신 분..? (1차원 배열, PYTHON) (1) | 2022.11.01 |
BaekJoon - 10807번: 개수 세기 (1차원 배열, PYTHON) (0) | 2022.11.01 |