데이터 꿈나무
[코딩 테스트] 프로그래머스_암호해독(문자열에서 배수 글자만 출력하기) 본문
📌 문제


📌 코드
def solution(cipher, code):
answer = ''
for i in range(code-1, len(cipher), code):
answer += cipher[i]
return answer
for문을 이용해서 code-1부터 cipher의 개수까지 code수만큼 띄어서 반복문이 진행되도록 했다. 차례로 i에 들어가게 된다.
여기에서 code에 -1을 해준 이유는, 인덱스가 0부터 시작되기 때문이다.
따라서 code가 4일 경우, i에는 차례대로 3번 인덱스(4번째), 7번 인덱스(8번째), 11번 인덱스(12번째), ....이렇게 진행되는 것이다.
결과적으로 cipher의 4(code)의 배수 인덱스가 빈 문자열인 answer에 들어가게 되고, 그에 해당되는 문자열이 answer에 추가가 되는 것이다.
📌 다른 풀이
def solution(cipher, code):
return cipher[code-1::code]
다른 풀이를 살펴보겠다. 내가 작성한 코드와 달리 상당히 짧은 것을 볼 수 있다.
슬라이싱을 이용하여 cipher의 3번 인덱스부터 끝까지 code의 수만큼 건너뛰어서 출력이 되는 것이다. 이에 해당하는 cipher의 인덱스가 출력이 된다.
'Activity > Algorithm' 카테고리의 다른 글
| [프로그래머스] 콜라츠 추측_Python (0) | 2023.07.12 |
|---|---|
| [프로그래머스] 최댓값 만들기(2) (0) | 2023.02.22 |
| [코딩 테스트] 파이썬 문자열에서 모음 제거하기(프로그래머스 모음 제거) (0) | 2023.02.19 |
| [코딩 테스트] 프로그래머스_진료 순서 정하기(Python)_sorted, reverse, append (0) | 2023.02.10 |
| [코딩 테스트] 프로그래머스_삼총사_리스트에서 추출하여 더하기(Python) (0) | 2023.02.09 |
Comments