문제설명
해결코드
프로그래머스 1단계에 해당하는 문제이다. 솔직히 문제 자체는 어렵지 않은데 테스트 케이스가 별로 없어서 약간 중의적인 해석이 가능했던 문제라 아마도 정답률이 적은거 같다.
def solution(s, skip, index):
abc = [chr(i) for i in range(97, 123) if not chr(i) in skip] * 3
answer = ''
for i in s:
answer += abc[abc.index(i) + index]
return answer
코드해설
코드 해설은 입출력 예제 1번을 통해 진행하도록 하겠습니다.
풀이설명1
# 풀이설명1 : ASCII 코드로 알파벳 배열 만들기. 단 skip에 들어가는 글자는 제외
abc = [chr(i) for i in range(97, 123) if not chr(i) in skip] * 3
먼저 영어 'a', 'b', 'c' 순으로 알파벳을 생성하되, skip에 포함되어 있는 글자는 제외합니다..
알파벳 배열을 생성해야 됬기 때문에 아스키 코드 97번이 'a' 라는 것을 이용해 배열을 생성했습니다. 정처기 딴게 조금은 도움이 된거 같다
풀이설명2
s에 들어오는 값을 for문을 통해 순회하면서 생성된 abc 배열에서 찾아서 새로운 알파벳으로 변환 시킵니다.
answer = ''
for i in s:
answer += abc[abc.index(i) + index]
return answer
'Algorithm' 카테고리의 다른 글
프로그래머스 - 카드 뭉치 [Python] (2) | 2023.02.17 |
---|---|
프로그래머스 - 호텔 대실 [Python] (0) | 2023.02.03 |
프로그래머스 - 뒤에 있는 큰 수 찾기 [Python] (0) | 2023.01.29 |