나의 풀이
class Solution {
public int solution(int[] array) {
String str = "";
for(int i = 0; i <array.length; i++) {
str += array[i]+"";
}
System.out.println("str = " + str);
return str.length() - str.replace(7+"", "").length();
}
}
▶ 문자열 전체의 길이 - 7을 제거한 후의 문자의 길이 = 7의 갯수
다른 사람의 풀이
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();
}
}
▶ mapToObj(String::valueOf)은 스트림의 모든 요소를 문자열로 바꾼다.
▶ joing() 메서드를 이용해서 모든 문자열을 합친다.
▶ split() 메서드를 이용해서 문자열을 글자 1개 단위로 쪼갠다.
▶ s는 낱개로 쪼개진 개별 문자열을 의미한다.
▶ filter(s -> s.equals("7")) 개별 문자열이 "7"과 같은 문자열만 추출한다.
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
한 번만 등장한 문자→frequency(), sorted(), groupingBy()★★★ (0) | 2022.11.26 |
---|---|
진료순서정하기 → 인덱스 장난치기, 동기화★★, List의 indexOf() (0) | 2022.11.26 |
특이한 정렬★★★ sorted(), compareTo(), compare(A, B) (0) | 2022.11.26 |
가까운 수 → "특이한 정렬"과 유사 + abs(n-array[i]) 갱신논리 (0) | 2022.11.25 |
팩토리얼 → ★축약 연산자를 이용한 팩토리얼 (0) | 2022.11.25 |