Level. 0
문제
머쓱이는 행운의 숫자 7을 가장 좋아합니다.
정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
* 제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array의 원소 ≤ 100,000
풀이
import java.util.*;
class Solution {
public int solution(int[] array) {
int answer = 0;
String str = "";
for(int i=0; i<array.length; i++){
str += Integer.toString(array[i]);
}
answer = (int)str.chars().filter(c->c=='7').count();
return answer;
}
}
Java의 기본 문자 어레이를 chars()를 통해 스트림으로 변환하고, filter()를 통해 원하는 자료만 필터링한 후 count()를 사용해 개수를 구했다.
- chars() : chars()는 기본적으로 IntStream을 반환하여, 문자어레이를 스트림으로 만들 때 사용할 수 있다.
https://strong-2-min.tistory.com/255
다른 풀이
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] array) {
return (int) Arrays.stream(
Arrays.stream(array)
.mapToObj(String::valueOf)
.collect(Collectors.joining())
.split("")
)
.filter(s -> s.equals("7"))
.count();
}
}
- Arrays.stream() : 배열을 스트림으로 변환
- mapToObj(String::valueOf) : 일반적 Stream객체를 Stream<String>으로 변환
- collect(Collectors.joining()) : 모든 값을 1개의 String으로 이어 붙임
스트림 변환
- mapToInt → IntStream 반환
- mapToDouble → DoubleStream 반환
- mapToLong → LongStream 반환
- mapToObj→ Stream<T> 반환
https://school.programmers.co.kr/learn/courses/30/lessons/120912?language=java
https://wickies.tistory.com/14
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 커피 심부름 (0) | 2023.08.20 |
---|---|
[프로그래머스(Java)] 조건에 맞게 수열 변환하기 2 / clone, equals (0) | 2023.08.20 |
[프로그래머스(Java)] 가장 가까운 같은 글자 / map.getOrDefault() (0) | 2023.08.13 |
[프로그래머스(Java)] 문자열 나누기 (0) | 2023.08.12 |
[프로그래머스(Java)] 2의 영역 / rangeClosed (0) | 2023.08.12 |