반응형
문제 설명
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
더보기

입출력 예시

입출력 예 #1

입출력 예 #2
제한사항
- 0 ≤ r < q ≤ 20
- r < code의 길이 ≤ 1,000
- code는 영소문자로만 이루어져 있습니다.
입출력 예

입출력 예 설명
입출력 예 #1
- 예제 1번의 q와 r은 각각 3, 1이고 인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.

q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "jerry"가 되므로 이를 return 합니다.
입출력 예 #2
- 예제 2번의 q와 r은 각각 1, 0이고 인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.

q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "programmers"가 되므로 이를 return 합니다.
풀이 1 (실패)
def solution(q, r, code):
answer = ''
n = 0
for i in range(len(code) // q):
answer += code[r + q * n]
n += 1
return answer
=> 테스트케이스 7개 실패
=> 반례 : q = 3, r = 1, code = "qjnwezgrpirldywtl" 이라면, 답은 "jerryl"이어야 하는데 "jerry"가 나옴.
풀이 2 (실패)
def solution(q, r, code):
answer = ''
if r == 0:
return code
else:
return code[r::q]
=> 테스트케이스 3개 실패
=> 반례 : q = 6, r = 0, code = "repeat" 라면, 답은 "r"이어야 하는데, "repeat"가 나옴.
풀이 3 (풀이 2에서 코드 변경)
def solution(q, r, code):
return code[r::q]
풀이 4
def solution(q, r, code):
answer = ''
for idx, val in enumerate(code):
if idx % q == r:
answer += val
else:
pass
return answer
반응형
'Algorithm > programmers(python)' 카테고리의 다른 글
[programmers] 멀리 뛰기, 12914 (0) | 2024.04.10 |
---|---|
[programmers] H-Index, 42747 (0) | 2024.04.08 |
[programmers] 주차 요금 계산, 92341 (1) | 2023.11.28 |
[programmers] 2차원으로 만들기, 120842 (1) | 2023.06.01 |
[programmers] 모스부호(1), 120838 (0) | 2023.06.01 |