Day 19 문자열, 배열, 조건문
Day19 19단계 20231108
1. 7의 개수
- 내 풀이 : Day 17 문자열, 수학, 조건문, 배열, 사칙연산#3. 자릿수 더하기에서 다른 사람의 풀이에서 썼던 일의 자리 숫자 판별 방법을 사용해서 풀었다.
- 배열 요소를 먼저 10으로 나눈 나머지(일의 자리 숫자가 남는다)가 7인지 확인하고, 7이면 answer에 1을 추가한다.
- 루프를 요소가 0보다 클 때까지 계속 10으로 나눈 몫을 반환하여 반복한다.
class Solution {
public int solution(int[] array) {
int answer = 0;
for (int i : array) {
while (i > 0) {
if (i % 10 == 7) {
answer++;
}
i /= 10;
}
}
return answer;
}
}
- 다른 사람 풀이 : Stream에서 모든 요소를 String으로 연결시킨 후 split("")으로 분리 시켜 7인 String의 개수를 카운트한다.
int answer = Arrays.stream(
Arrays.stream(array)
.mapToObjvalueOf // 배열 요소 int -> String으로 변환
.collect(Collectors.joining()) // String 연결
.split("")
) // String 배열을 스트림화
.filter(s -> s.equals("7"))
.count();