[프로그래머스] A로 B만들기

Vincent·2023년 1월 18일
0

문제 설명

문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.

제한사항

0 < before의 길이 == after의 길이 < 1,000
before와 after는 모두 소문자로 이루어져 있습니다.

입출력 예

beforeafterresult
'olleh''hello'1
'allpe''apple'0

입출력 예 설명

입출력 예 #1

"olleh"의 순서를 바꾸면 "hello"를 만들 수 있습니다.

입출력 예 #2

"allpe"의 순서를 바꿔도 "apple"을 만들 수 없습니다.

풀이

활용개념 : queue(deque)를 활용한 배열 회전과 pop

from collections import deque

def solution(before, after):
    after = deque(after)
    before = deque(before)
    
    for i in range(len(before)):
        for j in range(len(after)):
            if before[i] == after[0]:
                after.popleft()
                break
            else:
                after.append(after.popleft())
                
    if after:
        answer = 0
    else:
        answer = 1
    return answer
profile
Frontend & Artificial Intelligence

0개의 댓글