[Python/Silver5/6550] 부분 문자열

2025. 1. 25. 23:46·BAEKJOON

문제

2개의 문자열 s와 t가 주어졌을 때 s가 t의 부분 문자열인지 판단하는 프로그램을 작성하라. 부분 문자열을 가지고 있는지 판단하는 방법은 t에서 몇 개의 문자를 제거하고 이를 순서를 바꾸지 않고 합쳤을 경우 s가 되는 경우를 이야기 한다.

 

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다.

 

출력

입력된 s와 t의 순서대로 s가 t의 부분 문자열인 경우 Yes라 출력하고 아닐 경우 No라고 출력한다.

 

 


정답 코드

import sys
input = sys.stdin.readline

class Solution:
    def substring(self):
        while True:
            line = input().rstrip()
            if not line:
                break
            s, t = line.split()
            
            i = 0
            isSubstring = False
            for char in t:
                if i >= len(s):
                    break
                if char == s[i]:
                    if i == len(s)-1:
                        isSubstring = True
                    i += 1
            if not isSubstring:
                print("No")
            else:
                print("Yes")

if __name__ == "__main__":
    s = Solution()
    s.substring()

 

 

 

비고

답은 올바르게 나오는데, 자꾸 RuntimeError(ValueError)가 발생하여 오답 처리되었다. 이유는 아래 코드처럼 line을 먼저 입력 받은 다음 빈 입력일 경우 정상 종료 처리가 되도록 해야 하는데, 해당 부분을 추가하지 않아서였다.

GPT4O : 항상 split() 호출 전에 빈 입력을 확인하는 습관을 들이는 것이 좋습니다.

'BAEKJOON' 카테고리의 다른 글

[Python/Bronze2/15829] Hashing  (0) 2025.01.27
[Python/Silver3/15652] N과 M(4)  (0) 2025.01.27
[Python/Silver1/5525] IOIOI  (0) 2025.01.27
[Python/Silver3/2149] 암호 해독  (0) 2025.01.27
[Python/Silver4/14584] 암호 해독  (1) 2025.01.26
'BAEKJOON' 카테고리의 다른 글
  • [Python/Silver3/15652] N과 M(4)
  • [Python/Silver1/5525] IOIOI
  • [Python/Silver3/2149] 암호 해독
  • [Python/Silver4/14584] 암호 해독
콘순이
콘순이
개발 보안 관련 스터디 기록장
  • 콘순이
    SECURITY DEVELOPER
    콘순이
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (71)
      • BAEKJOON (45)
      • ALGORITHM (4)
      • QUALIFICATIONS (0)
      • PYTHON (1)
      • PROGRAMMERS (6)
      • DEVELOP (12)
        • SPRING (4)
        • ERROR (0)
        • CONCEPT (5)
        • AWS (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    solid
    비트 마스킹
    문자열
    비트 조작
    알고리즘
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
콘순이
[Python/Silver5/6550] 부분 문자열

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.