less than 1 minute read

7의 개수

문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 100,000

입출력 예

array result
[7, 77, 17] 4
[10, 29] 0

입출력 예 설명

입출력 예 #1

  • [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.

입출력 예 #2

  • [10, 29]에는 7이 없으므로 0을 return 합니다.

나의 풀이 코드

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        String str_result = "";
        int cnt = 0;
        for (int i=0; i<array.length; i++){
            String str = new Integer(array[i]).toString();
            str_result=str_result.concat(str); 
        }
        for (int i=0; i<str_result.length(); i++){
           if(str_result.charAt(i)=='7'){
               cnt++;
           }
        }
        answer = cnt;
        return answer;
    }
}

배열의 각 요소별로 String으로 변환후 concat하고 각 자리마다 7이 있으면 cnt++해준다.

배운점

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();
    }
}

다른사람이 스트림으로 푼 코드이다.
방법은 동일하다.

Leave a comment