[프로그래머스][파이썬] 문자열안에 문자열 - 문자열 (Level 0)

뻥튀기아이스크림·2025년 3월 20일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120908

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(str1, str2):
    if str2 in str1:
        return 1
    else:
        return 2
  • in 연산자를 활용하여 str2 에 존재하면 1, 없으면 2 를 반환했다.

◽ 다른 사람 풀이

def solution(str1, str2):
    return 1 if str1.find(str2) >= 0 else 2
  • 대부분 in 연산자를 통해 풀었지만, 이렇게 find() 함수를 활용해 풀이한 분도 있었다.

◽ 더 나아가기

  • in 연산자에 대해 자세히 알고 싶어서 찾아봤더니, 해시 테이블 기반 구조를 가진 세트와 딕셔너리는 O(1) 시간 복잡도를 가지고 있었다.
  • 나머지도 순차 검색이라 O(n) 으로 우수한 성능을 가지고 있다.
  • innot in멤버십 테스트 연산자(Membership Test Operator) 라고 불리는데, 특정 값이 시퀀스(문자열, 리스트, 튜플) 또는 컬렉션(딕셔너리, 세트) 에 포함되어 있는지 확인하는 연산이라고 한다.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글