728x90
https://school.programmers.co.kr/learn/courses/30/lessons/155652
문제 접근
- 주어진 규칙에 맞춰 문자열 s를 변형시켜서 return해주면 되는 문제
- index만큼 뒤에 있는 알파벳이 무슨 뜻이지? 했더니 그냥 알파벳 순서a,b,c,d....을 의미하는 것이었음
- alpha = abcdefghijklmnopqrstuvwxyz를 선언하고 skip에 있는 문자들을 제거
- s에 있는 문자를 alpha에서의 index에 자연수로 주어진 index값을 더해서 새로운 문자열을 만들어주면 됨
정답 코드
def solution(s, skip, index):
answer = ''
alpha = "abcdefghijklmnopqrstuvwxyz"
for ch in skip:
if ch in alpha:
alpha = alpha.replace(ch, "")
for i in s:
change = alpha[(alpha.index(i)+index) % len(alpha)]
answer += change
return answer
그냥 index를 더하면 index out 에러가 뜨기 때문에 alpha 길이만큼 나눈 나머지를 이용해 index를 순환해서 참조하도록 함
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
프로그래머스 - 추억점수(lv1, python) (0) | 2023.04.14 |
---|---|
프로그래머스 옹알이2(lv1, python) (0) | 2023.04.10 |
프로그래머스 숫자짝꿍(lv1, python) (0) | 2023.04.10 |
프로그래머스 - 체육복(python) (0) | 2023.03.31 |
프로그래머스 전화목록(python) (0) | 2023.03.31 |