프로그래머스 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를 안배워서 이정도만 알고 넘어가기로 ㅠㅠㅠㅠ
'CodingTest' 카테고리의 다른 글
프로그레머스 - 약수 구하기 (JAVA) (0) | 2023.01.05 |
---|---|
프로그래머스 - 머쓱이보다 키 큰 사람 (JAVA) (0) | 2023.01.05 |
프로그래머스 - 최댓값 만들기 (JAVA) (0) | 2023.01.03 |
프로그래머스 - 다음에 올 숫자 (JAVA) (0) | 2022.12.29 |
프로그래머스 - 숫자 찾기 (JAVA) (0) | 2022.12.29 |