IT 공부/코딩테스트
[프로그래머스 Level1] 둘만의 암호
unnimm
2023. 12. 5. 18:37
틀린 풀이
def solution(s, skip, index):
alpa = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
new = ''
for i in skip:
if i in alpa:
alpa.remove(i)
for i in s:
if i in alpa:
k = alpa.index(i)
k += index
if k > 26-len(skip):
k - (26-len(skip))
new += alpa[k]
else:
new += alpa[k]
return new
if문의 계산으로 인해서 계산과정이 하나 더 생겨서 런타임에러가 났음
맞은 풀이
def solution(s, skip, index):
alpa = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
new = ''
for i in skip:
if i in alpa:
alpa.remove(i)
for i in s:
if i in alpa:
k = alpa.index(i)
k += index
new += alpa[k % (26-len(skip))]
return new
나머지를 활용하면 된다는걸 생각하지 못했음
배운 점
어떤수가 넘어가서 다시 처음부터 된다고 하면 %나머지 연산을 기억하자.