문제 설명
문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c 번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string은 영소문자로 이루어져 있습니다.
- 1 <= m <= my_string의 길이 <= 1,000
- m은 my_string 길이의 약수로만 주어집니다.
- 1 <= c <= m
입출력 예
my_string | m | c | result |
"ihrhbakrfpndopljhygc" | 4 | 2 | "happy" |
"programmers" | 1 | 1 | "programmers" |
import java.lang.StringBuilder;
class Solution {
public String solution(String my_string, int m, int c) {
StringBuilder sb = new StringBuilder();
for (int i = c - 1; i < my_string.length(); i += m) {
sb.append(my_string.charAt(i));
}
String answer = sb.toString();
return answer;
}
}
StringBuilder를 생성합니다.
for문이 i는 c - 1부터(인덱스는 0번부터 시작이므로) my_string의 길이만큼 m씩 증가하며 순회합니다. 반복문의 조건과 증감식에 따라 append 메소드를 이용하여 StringBuilder에 my_string의 i번째 문자를 추가합니다.
반환하기 전 toString 메소드를 이용하여 sb가 메모리상 주소가 아닌, 올바른 문자열로 출력할 수 있도록 합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 문자열 섞기(Java) (0) | 2023.05.20 |
---|---|
[프로그래머스 코딩테스트] 공백으로 구분하기 2(Java) (0) | 2023.05.19 |
[프로그래머스 코딩테스트] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기(Java) (0) | 2023.05.19 |
[프로그래머스 코딩테스트] 부분 문자열 이어 붙여 문자열 만들기(Java) (0) | 2023.05.18 |
[프로그래머스 코딩테스트] 특정한 문자를 대문자로 바꾸기(Java) (0) | 2023.05.18 |