코딩 테스트/프로그래머스

Lv1. 둘만의 암호

  • -
728x90
반응형

문제 보기 :  둘만의 암호

 

프로그래머스

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

programmers.co.kr

 


문제

  • 정답률 : 58%


작성 코드

def solution(s, skip, index):
    answer = ''
    alpha = [chr(i) for i in range(97,123)]*3
    for i in s:
        ss = alpha.index(i)
        fin = ss+index
        ls = alpha[ss:fin+1]
        while True:
            a = 0
            for j in ls:
                if j in skip:
                    ls.remove(j)
                    fin += 1
                    ls.append(alpha[fin])
                    a = 1
                    break
            if a == 0:
                answer += ls[-1]
                break
            
    return answer

풀이

내가 제일 기피하는 리스트에서 index 찾고 지우고 더하고 하는 코드이긴 하다..

그치만 딕셔너리 여러개, 넘버링 변수만 두고 풀어보기, 등등 별 방법을 써봤는데 통과가 안됐다.

코드가 아주아주 직관적이라 따로 해설은 안해도 될 것 같다.

그래도 간단히 설명을 해보자면
alpha에 *3을 한건 'z' 이후 'a'가 와야하는 조건 때문이었다.
그리고 while문에 a를 둔건, if문에 걸리지 않았을 때 answer에 답을 더하고 while문을 끝내기 위해서다.

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv1. 문자열 나누기  (0) 2024.09.09
Lv2. 주차 요금 계산  (0) 2024.09.09
Lv3. 단어 변환  (0) 2024.09.04
Lv2. 숫자 변환하기  (0) 2024.09.03
Lv0. 겹치는 선분의 길이  (0) 2024.09.02
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.