-
[프로그래머스] LV1. 둘만의 암호알고리즘 2023. 3. 13. 14:52728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/155652
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근
1. index에 초점을 맞춰보자!!! ( 무한 반복하면서 skip에 있는지 확인해야 한다 )
-> 여기서 무한 반복은 뭘까? 나는 while True: 문을 말한거야~
2. 소문자 , 숫자 나오면 ord(), chr() 을 한번씩 생각해보는건 어때??
은근 도움 된다..3. skip 에 있는 문자들을 아스키 코드로 바꿔 놓고, 무한 반복하면서 skip에 들어있지 않을때만 index 값을 하나씩 감소면서, index == 0 이 되는 순간 while 문에서 나와서 정답에 chr( ) 로 바꿔서 넣어주자!
풀이
def solution(s, skip, index): ans = '' k = index skips = [] for i in skip: skips.append(ord(i)) for i in s: asci = ord(i) while True: if index == 0: break asci += 1 if asci == 123: asci = 97 if asci not in skips: index -= 1 ans += chr(asci) index = k return ans
'알고리즘' 카테고리의 다른 글
[프로그래머스] LV1. 모의고사 (0) 2023.03.13 [프로그래머스] LV1. 성격 유형 검사하기 (0) 2023.03.13 [프로그래머스] LV1. 개인정보 수집 유효기간 (0) 2023.03.11 [프로그래머스] LV1. 기사단원의 무기 (0) 2023.03.11 [프로그래머스] LV1 햄버거 만들기 (0) 2023.03.09