반응형
풀이
제한사항이 매우 작으므로 특별한 알고리즘 없이 구현이 가능하다. 알고리즘은 다음과 같다.
- skip에 있는 문자열을 제외한 알파벳 목록을 구한다. 이를 skipped 라 칭한다.
- s를 순회하며 skipped에서 현재 알파벳의 인덱스를 찾아 index 만큼 더해준다. 이 때, skipped 의 총 길이를 초과한다면 그 나머지를 구한다.
- result에 2에서 구한 인덱스의 알파벳을 더한다.
def solution(s, skip, index):
skipped = [chr(i) for i in range(97, 123) if chr(i) not in skip]
res = ""
for i in s:
res += skipped[(skipped.index(i) + index) % len(skipped)]
return res
반응형
'알고리즘 연습 > 구현, 문자열' 카테고리의 다른 글
[Lv.1 / 프로그래머스 / 파이썬] 카드 뭉치 (0) | 2024.08.30 |
---|---|
[Lv.2 / 프로그래머스 / 파이썬] 다음 큰 숫자 (0) | 2024.06.08 |
[Lv.1 / 프로그래머스 / 파이썬] 대충 만든 자판 (0) | 2024.05.15 |
[🥈2 / 백준 5555 / 파이썬] 반지 (0) | 2024.04.12 |
[Lv.1 / 프로그래머스 / 파이썬] 가장 많이 받은 선물 (2024 KAKAO WINTER INTERNSHIP) (0) | 2024.03.24 |