문제 설명
문자열 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.util.stream.IntStream;
import java.util.stream.Collectors;
class Solution {
public String solution(String my_string, int m, int c) {
String answer = "";
answer = IntStream.range(0, my_string.length() / m)
.mapToObj(i -> String.valueOf(my_string.charAt(i * m + c - 1)))
.collect(Collectors.joining());
return answer;
}
}
약간 절었지만... 내가 생각한 대로 성공했다.
class Solution {
public String solution(String my_string, int m, int c) {
String answer = "";
for (int i = c - 1; i < my_string.length(); i += m) {
answer += my_string.charAt(i);
}
return answer;
}
}
이건 남들이 더 잘한 것 같다...
'코딩테스트 연습' 카테고리의 다른 글
이차원 배열 대각선 순회하기 (0) | 2024.04.19 |
---|---|
중복된 문자 제거 (0) | 2024.04.19 |
369게임 (0) | 2024.04.18 |
합성수 찾기 (0) | 2024.04.18 |
피자 나눠 먹기 (2) (0) | 2024.04.18 |