[문제 설명]
문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 

2를 return하도록 solution 함수를 완성해주세요.

[제한사항]
1 ≤ str1의 길이 ≤ 100
1 ≤ str2의 길이 ≤ 100
문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.


[입출력 예]

str1  str2 result
"ab6CDE443fgh22iJKlmn1o"  "6CD"  1
"ppprrrogrammers" "pppp" 2
"AbcAbcA" "AAA" 2

 

[입출력 예]
입출력 예 #1)
"ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.
입출력 예 #2)
"ppprrrogrammers" str1에 str2가 없으므로 2를 return합니다.
입출력 예 #3)
"AbcAbcA" str1에 str2가 없으므로 2를 return합니다.

 


[나의 풀이 1]

def solution(str1, str2):
    return 1 if str1.find(str2)>=0 else 2

[ find() 특징]

- index를 반환한다.

 

- string.find(찾을 문자)
- string.find(찾을 문자, 시작 Index)
- string.find(찾을 문자, 시작 Index, 끝 Index)

 

string = "abcdefghijkl"

#### 찾는 문자가 string에 있는 경우 #### 
# : 인덱스가 출력
print(string.find("a"))
print(string.find("cd"))
print(string.find("efg"))

#### 찾는 문자가 string에 없는 경우 #### 
# : -1이 출력
print(string.find("o"))
print(string.find("p"))

Out[1]: 

# 찾는 문자가 string에 있는 경우

: 인덱스가 출력

0

2

4

 

# 찾는 문자가 string에 없는 경우

: -1이 출력

-1

-1


[나의 풀이 2]

def solution(str1, str2):
    return 1 if str2 in str1 else 2

##### in #### 

if 'soo' in 'My name is soo':
    print(True)
else:
    print(False)


##### not in #### 

if 'soo' not in 'My name is soo':
    print(True)
else:
    print(False)

 

> 시퀀스 객체 안에서 찾고자 하는 값이 존재하는지 확인하고자 할 때, in not in 연산자를 사용한다.

 

[시퀀스(Sequence) 객체]

- 시퀀스 자료형 : 연속적으로 이어진 데이터를 묶는 자료형

- 예) 리스트, 튜플, 딕션너리, 문자열, range

 

'Test > python' 카테고리의 다른 글

배열의 유사도 (set)  (0) 2023.04.09
OX퀴즈 ( eval 함수)  (0) 2023.04.06
세균 증식 (비트 연산자: <<, >>, &, | )  (0) 2023.04.04
문자열 정렬하기 (2) (sorted() 사용)  (0) 2023.04.04
7의 개수 ( join, count )  (0) 2023.04.03

+ Recent posts