
내가 작성한 코드
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(int[] array) {
List<Integer> result = Arrays.stream(array)
.boxed() // int를 Integer타입으로 바꿈
.flatMap(
i -> String.valueOf(i).chars()
// Character::getNumericValue >> char를 정수 값(int)으로 변환
// .mapToObj >> 스트림의 각 원소를 객체(Object)로 매핑
.mapToObj(Character::getNumericValue)
.filter(n -> n == 7)
).collect(Collectors.toList()); // List로 묶기
return result.size();
}
}
다른 사람의 코드
class Solution {
public int solution(int[] array) {
int answer = 0;
for(int a : array){
// 각 원소마다 0이될때 까지 반복
while(a != 0){
// 10으로 나눈 나머지가 '7'일때 카운트 추가
if(a % 10 == 7){
answer++;
}
// a 10 나눠주기
a /= 10;
}
}
return answer;
}
}
Share article