본문 바로가기
코딩테스트/자바 Level 0

[Java] 7의 개수

by onggury 2023. 7. 17.

문제

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

 

 

제한사항

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

 

class Solution {
    public int solution(int[] array) {
        String answer = "";

        for(int arr : array) {
            answer += Integer.valueOf(arr);
        }

        return answer.length() - answer.replace("7", "").length();
    }
}

 

 

그러나 시간복잡도는 아래 코드가 더 빠르다.

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for(int a : array){
            while(a != 0){
                if(a % 10 == 7){
                    answer++;
                }
                a /= 10;
            }
        }
        return answer;
    }
}

처음 코드는 array의 원소를 하나씩 가져와 문자열로 변환하고

answer에 저장된 문자열 "7"을 하나씩 찾아서 빈 문자열 ("") 로 바꾸는 작업이 있다보니 아무래도 아래 코드가 더 빠른가보다.

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120912