문제 분석
- 문자열 my_string
- 정수 m,c
- my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return
코드 설계
- my_string // m 만큼 쪼개서 반복 (한 줄에 m씩 들어간다면 총 줄이 되는가)
- 해당 줄에서 [i*m : i*m + m] 만큼의 문자열 str = [ ] 에 저장
- 저장한 str의 c번째 열들에 대해서 ([ i ][ c ]) answer에 더한 뒤 return
정답 코드
def solution(my_string, m, c) :
answer = ''
str = []
for i in range(len(my_string)//m):
str.append(my_string[i*m : i*m + m])
for i in range(len(str)) :
answer += str[i][c-1]
return answer
다른 사람 풀이 1
def solution(my_string, m, c) :
return my_string[c-1, m]
- m : 간격을 지정하는 정수
- c : 시작 위치를 나타내는 정수
- python 슬라이싱 : s[start : end : step]
- start : c-1
- end : 지정 x == 끝까지 탐색
- step = m : m의 간격으로 요소 검색
- 주어진 문자열(리스트)에서 시작 인덱스 c-1부터 m간격으로 선택하여 반환
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 lv.0 문자 개수 세기 (1) | 2024.10.22 |
---|---|
[Python] 프로그래머스 lv.0 qr code (0) | 2024.10.21 |
[Python] 프로그래머스 lv.0 문자열 뒤집기 (0) | 2024.10.21 |
[Python] 프로그래머스 lv.0 접두사인지 확인하기 (0) | 2024.10.21 |
[Python] 프로그래머스 lv.3 네트워크 (0) | 2024.10.21 |