CodingTest

프로그래머스 - 7의 개수(JAVA)

쩡선영 2023. 1. 3. 23:33

프로그래머스 7의 개수 0단계 문제입니다!

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

● 문제설명

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

<<제안사항>>

1) 1<= array의 길이 <=100

2) 0<= array의 원소 <=100,000

 

● 내가 직접 짜본 코드

class Solution {
    public int solution(int[] array) {
        int answer = 0,  cnt=1;
        for(int i=0; i<array.length; i++){
            int length = (int)(Math.log10(array[i])+1);
            for(int j=0; j<length; j++){
                if((array[i]/cnt)%10==7) answer++;
                cnt*=10;
            }
            cnt=1;
        }
        return answer;
    }
}

 

● 코드해설

1) math.log10()함수를 사용하여 array[i]의 자릿수를 구해주고

2) C언어 수업 때 배운 (array[1]/구하고 싶은 자릿수) % 10 자료구조를 이용하였습니다

3) cnt를 10씩 늘려줬고, j 반복문이 끝날때 마다 1로 초기화 시켜줬습니다

 

● 새롭게 알게된 것

math.log10()함수를 사용하면 또 다른 로직 없이 자릿수를 구할 수 있습니다!

아직 log를 안배워서 이정도만 알고 넘어가기로 ㅠㅠㅠㅠ