Algorithm/String

[프로그래머스] 문자열 밀기

킹우현 2023. 7. 21. 13:49

def solution(A, B):
    
    def move(string):
        list_str = list(string)
        str_len = len(list_str)
        
        new_list = [list_str[-1]] + list_str[:-1]
        
        print(new_list)
        
        return ''.join(new_list)
    
    available = False
    check_str = A
    
    answer = 0
    
    for i in range(len(A)):
        if check_str == B:
            available = True
            break
        check_str = move(check_str)
        answer += 1
    
    if available:
        return answer
    else:       
        return -1

이번 문제는 주어진 문자열 A를 오른쪽으로 밀면서 B를 만들 수 있다면 민 횟수를 반환하고, B를 만들 수 없다면 -1을 반환하는 문제이다.

 

주어진 문자열을 오른쪽으로 한 칸씩 미는 함수(move)과 밀어서 만들 수 있는지 여부를 확인하는 변수(available)을 선언하여 문제를 해결할 수 있었다 :)