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)
으로 우수한 성능을 가지고 있다.in
과 not in
은 멤버십 테스트 연산자(Membership Test Operator) 라고 불리는데, 특정 값이 시퀀스(문자열, 리스트, 튜플) 또는 컬렉션(딕셔너리, 세트) 에 포함되어 있는지 확인하는 연산이라고 한다.피드백은 언제나 환영입니다 :)