1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ i < j ≤ 100,000
- 0 ≤ k ≤ 9
입출력 예
ijkresult
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
입출력 예 설명
입출력 예 #1
- 본문과 동일합니다.
입출력 예 #2
- 10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다.
입출력 예 #3
- 3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다.
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
class Solution {
public int solution(int i, int j, int k) {
return (int) Arrays.stream(IntStream.rangeClosed(i, j)
.mapToObj(String::valueOf)
.flatMap(String::lines)
.collect(Collectors.joining())
.split(""))
.filter(s -> s.equals(String.valueOf(k)))
.count();
}
}
출처:프로그래머스
.flatMap(String::lines)는 빼도 된다.
'Java > Java 프로그래머스' 카테고리의 다른 글
2차원으로 만들기(2차원배열 만들기) (0) | 2022.11.15 |
---|---|
A로B만들기( A String의 순서만변경해서 B String을 만들수있는지 (0) | 2022.11.15 |
중복된 문자 제거 (1) | 2022.11.14 |
모스부호1 (0) | 2022.11.14 |
합성수 찾기( 약수가3개이상인 수) (0) | 2022.11.14 |