문자열 밀기 - 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을 반환합니다. 이 함수는 문자열 검색에 사용될 수 있습니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'공부 > 📝 프로그래머스' 카테고리의 다른 글

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