문자열 밀기 - Python
2023. 9. 30. 23:27ㆍ공부/📝 프로그래머스
def solution(A, B):
answer = 0
for i in range(len(A)):
if A == B:
return answer
else:
temp = A[-1] + A[:-1]
A = temp
answer += 1
return -1
# Test Cases
print(solution("hello", "ohell"))
print("="*50)
print(solution("apple", "elppa"))
print("="*50)
print(solution("atat", "tata"))
print("="*50)
print(solution("abc", "abc"))
print("="*50)
위와 같이 풀었습니다.
solution=lambda a,b:(b*2).find(a)
다른 사람의 풀이입니다. 정말 신기하네요. 위의 코드를 ChatGPT에게 물어봤습니다.
이 코드는 Python에서 사용할 수 있는 람다(lambda) 함수를 정의한 것입니다. 람다 함수는 간단한 함수를 한 줄로 표현할 때 사용됩니다.
이 람다 함수는 두 개의 인자를 받습니다: a와 b. 그리고 이 함수의 몸체는 (b*2).find(a)로 구성되어 있습니다.
여기서 a와 b는 문자열이라고 가정하겠습니다. 이 람다 함수의 목적은 문자열 a가 문자열 b 안에서 어느 위치에 있는지 찾는 것입니다.
(b*2)는 문자열 b를 두 번 연결하는 것을 의미합니다. 이렇게 하면 문자열 b가 두 번 반복되는 새로운 문자열이 생성됩니다.
그 다음, .find(a)는 이 새로운 문자열에서 문자열 a가 처음으로 나타나는 위치(index)를 찾습니다. 만약 문자열 a가 찾아지지 않으면 -1을 반환합니다.
따라서, 이 람다 함수는 문자열 a가 문자열 b 안에서 처음으로 나타나는 위치(index)를 반환하거나, 문자열 a가 문자열 b 안에 없으면 -1을 반환합니다. 이 함수는 문자열 검색에 사용될 수 있습니다.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
OX퀴즈 - Python (0) | 2023.10.01 |
---|---|
특이한 정렬 - Python (0) | 2023.10.01 |
유한소수 판별하기 - Python (0) | 2023.09.30 |
치킨 쿠폰 - Python (0) | 2023.09.30 |
등수 매기기 - Python (0) | 2023.09.30 |