문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181904
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
비슷한 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
처음 작성한 코드
문자열의 슬라이싱을 먼저 한 뒤, c번째 요소를 더해나가는 방법이다.
- m이 my_string 길이의 약수이므로 루프문의 범위를 0부터 my_string의 길이까지, m간격으로 지정해 주었다.
- my_string의 범위를 i에서 i+m까지로 지정하면 m개의 문자로 나뉘게 된다.
- 그중 c번째 문자를 answer에 이어 붙이면 된다.
def solution(my_string, m, c):
answer = ''
for i in range(0, len(my_string), m):
answer += my_string[i:i+m][c-1]
return answer
# 입출력 예시
print(solution("ihrhbakrfpndopljhygc", 4, 2))
print(solution("programmers", 1, 1))
기본적으로는 이러한 알고리즘으로 작성하겠으나, 아래 다른 코드와 같이 이러한 문제에 대한 쉬운 풀이가 존재한다.
다른 코드
[코드1]
슬라이싱을 이용해 목표 인덱스를 설정하지 않으면 c 번째 요소부터 m간격으로 불러올 수 있다.
def solution(s, m, c):
return s[c-1::m]
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Programmers][Python] 징검다리 건너기 (0) | 2024.06.17 |
---|---|
[Programmers][Python] 배열 만들기 2 (0) | 2024.05.22 |
[Programmers][Python] 문자열 돌리기 (0) | 2023.05.02 |
[Programmers][Python] 멀쩡한 사각형 (0) | 2023.05.01 |
[Programmers][Python] H-index (0) | 2023.04.26 |