Level. 0
문제
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
* 제한사항
- 0 ≤ r < q ≤ 20
- r < code의 길이 ≤ 1,000
- code는 영소문자로만 이루어져 있습니다.
풀이
import java.util.stream.*;
class Solution {
public String solution(int q, int r, String code) {
String answer = "";
for(int i=0; i<code.length(); i++){
if(i%q==r) answer += code.charAt(i);
}
return answer;
}
}
다른 풀이
import java.util.stream.*;
class Solution {
public String solution(int q, int r, String code) {
return IntStream.range(0, code.length()).filter(c->c%q==r).mapToObj(i->String.valueOf(code.charAt(i))).collect(Collectors.joining());
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/181903
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 문자 개수 세기 / groupingBy (0) | 2023.08.26 |
---|---|
[프로그래머스(Java)] 잘라서 배열로 저장하기 (0) | 2023.08.26 |
[프로그래머스(Java)] 커피 심부름 (0) | 2023.08.20 |
[프로그래머스(Java)] 조건에 맞게 수열 변환하기 2 / clone, equals (0) | 2023.08.20 |
[프로그래머스(Java)] 7의 개수 / Stream, mapToObj, Collectors.joining() (0) | 2023.08.20 |