본문 바로가기

Algorithm/String

(Python3) - 프로그래머스(코딩 기초 트레이닝) : 세로 읽기

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181904

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

등차 수열을 이용해 푼 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답변수 answer, 몇 번째인지 여부를 저장할 sequence를 선언 후 각각 빈 문자열, 0으로 초기화합니다.

📔 풀이과정

1. c열에 sequence행 번째에 있는 문자는 왼쪽부터 sequence * m + c - 1번째에 있습니다. 한 행은 m개씩이기 때문입니다.

2. my_string의 길이 - 1까지가 최대 index이므로 넘지 않는 동안 sequence를 1씩 증가시키면서 다음 뽑을 문자를 구해 answer 뒤에 더해줍니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(my_string, m, c):
    answer = ''
    sequence = 0
    while sequence * m + c - 1 < len(my_string):
        piv = sequence * m + c - 1
        answer += my_string[piv]
        sequence += 1
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.