[문제 설명]
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때
나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을
return 하는 solution 함수를 작성해 주세요.
[제한사항]
1. 0 ≤ r < q ≤ 20
2. r < code의 길이 ≤ 1,000
3. code는 영소문자로만 이루어져 있습니다.
def solution(q, r, code):
answer = ''
return answer
[A] (내가 쓴 답)
def solution(q, r, code):
new_idx = []
answer = ""
for idx in range(len(code)) :
if idx % q == r :
new_idx.append(idx)
for i in new_idx :
tmp = code[i]
answer += tmp
return answer
[A] 다른 답들
def solution(q, r, code):
return code[r::q]
* 설명 : index = x * q + r 임을 알 수 있고, 우리가 필요한 index는 [0q+r, 1q+r, 2q+r... xq+r]입니다.
즉 [r, q+r, 2q+r... xq+r]임을 알 수있고, r로 시작해서 q씩 커지는 index만 가져오면 됩니다.
def solution(q, r, code):
answer = ''
for i in range(len(code)):
if i % q == r:
answer += code[i]
return answer
def solution(q, r, code):
answer = ''
for idx, val in enumerate(code):
if idx % q == r:
answer += val
return answer
'Algorithm > 프로그래머스' 카테고리의 다른 글
| [Python] [코딩 기초 트레이닝] / 왼쪽 오른쪽 (0) | 2024.08.19 |
|---|---|
| [Python] [코딩 기초 트레이닝] / 배열 조각하기 (0) | 2024.08.17 |
| [Python] [코딩 기초 트레이닝] / 배열 만들기 4 (0) | 2024.08.17 |
| [Python] [코딩 기초 트레이닝] / 주사위 게임 3 (0) | 2024.08.15 |
| [Python] [코딩 기초 트레이닝] / 배열 만들기 2 (0) | 2024.08.15 |