728x90
[파이썬] 프로그래머스 Lv0. 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기, 문자열이 몇 번 등장하는지 세기
안녕하세요 머킹입니다.
오랜만인 것 같습니다! 저는 내일 발표를 앞두고 열심히 ppt도 만들고 했답니다ㅎㅎ
특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
문제 설명
문자열 myString과 pat가 주어집니다.
myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
def solution(myString, pat):
return myString[:len(myString) - myString[::-1].index(pat[::-1])]
이렇게 풀었는데 신기한 풀이법이 있었습니다.
solution=lambda x,y:x[:x.rindex(y)+len(y)]
rindex, rfind를 사용하는데요.
찾고자 하는 인덱스나 문자열을 뒤에서부터 찾는 거라고 하네요.
파이썬의 대단함을 또 한 번 느낍니다.
문자열이 몇 번 등장하는지 세기
문제 설명
문자열 myString과 pat이 주어집니다.
myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.
def solution(myString, pat):
answer = 0
start = 0
while start < len(myString):
index = myString.find(pat, start)
if index != -1:
answer += 1
start = index + 1
else:
break
return answer
저는 약간 어렵게 푼 것 같습니다.
while 문을 안 쓰고 풀 수 있을 것 같은데 풀릴 듯 말 듯하더라고요.
def solution(myString, pat):
answer = 0
for i, x in enumerate(myString) :
if myString[i:].startswith(pat) :
answer += 1
return answer
다른 사람의 풀이를 보니까 이해가 되네요....
enumerate 진짜 언젠가는 꼭 쓴다..
'오늘부터 코딩테스트' 카테고리의 다른 글
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.27 |
---|---|
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.26 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.22 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.20 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (1) | 2023.10.19 |