알고리즘 문제 풀이: 파이썬/Programmers

[프로그래머스] 둘만의 암호

hueco 2023. 3. 28.

 

📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/155652

 

프로그래머스

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

programmers.co.kr

 

내 풀이(Success) :

 

🧐 Review:

 - 집합에 담긴 알파벳에서 skip에 해당하는 문자열을 제거할 때 for 반복문이 아니라 집합이기 때문에 차집합을 사용했으면 더 좋았을 것 같다.

 

🚩 Idea:

 - skip에 포함되는 알파벳은 s에 포함되지 않기 때문에 skip에 해당하는 알파벳을 alphabet 집합에서 모두 지운다.

 - index의 값만큼 s에 속한 알파벳을 뒤에 있는 알파벳으로 바꿀 때 범위를 넘어가는 경우가 생길 수 있는데, deque와 deque의 rotate() 함수를 이용하면 해당 부분을 어렵지 않게 해결할 수 있다.

 - rotate() 함수를 이용해서 deque의 첫 번째 인덱스로 s에 속한 원소를 이동시켰다면, index만큼 다시 회전해서 최종적으로 바꿔야 하는 값을 찾는다.

 - 찾은 값들은 리스트에 담고, join() 함수로 문자열로 변환해서 결과 값을 반환한다.

댓글