본문 바로가기

Algorithm/프로그래머스

[프로그래머스] 세로 읽기

반응형
SMALL

[level 0] 세로 읽기 - 181904

문제 링크

성능 요약

메모리: 76.7 MB, 시간: 0.04 ms

구분

코딩테스트 연습 > 코딩 기초 트레이닝

채점결과

정확성: 100.0
합계: 100.0 / 100.0

제출 일자

2024년 1월 3일 22:52:36

문제 설명

문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.


제한사항
  • my_string은 영소문자로 이루어져 있습니다.
  • 1 ≤ mmy_string의 길이 ≤ 1,000
  • mmy_string 길이의 약수로만 주어집니다.
  • 1 ≤ cm

입출력 예
my_string m c result
"ihrhbakrfpndopljhygc" 4 2 "happy"
"programmers" 1 1 "programmers"

입출력 예 설명

입출력 예 #1

  • 예제 1번의 my_string을 한 줄에 4 글자씩 쓰면 다음의 표와 같습니다.
    1열 2열 3열 4열
    i h r h
    b a k r
    f p n d
    o p l j
    h y g c
    2열에 적힌 글자를 세로로 읽으면 happy이므로 "happy"를 return 합니다.

입출력 예 #2

  • 예제 2번의 my_stringm이 1이므로 세로로 "programmers"를 적는 것과 같고 따라서 1열에 적힌 글자를 세로로 읽으면 programmers입니다. 따라서 "programmers"를 return 합니다.
  •  

문제 정답

class Solution {
    public String solution(String my_string, int m, int c) {
        StringBuilder answer = new StringBuilder();
        int i = 0;
        int size = my_string.length();
        int j = 1;
        
        while (i < size) {
            String str = my_string.substring(i, m * j);
            answer.append(str.charAt(c - 1));
            i += m;
            j++;
        }
        
        return answer.toString();
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

반응형
LIST