-
728x90
문제 설명
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array의 원소 ≤ 100,000
답안
import java.util.Arrays; class Solution { public int solution(int[] array) { int answer = 0; String sumString = Arrays.toString(array); for(int i=0; i<sumString.length(); i++) { if( '7'==sumString.charAt(i)) { answer++; } } return answer; } }
처음 답안은 배열 array를 Arrays.toString을 이용해서 문자열로 변환하여 한글자씩 비교하는 로직으로 답안을 작성했다.
그런데 이게 웬걸, 다른 신박한 답변들이 많이 있었다.
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를 향상된 for문을 통해 원자를 꺼내서 10으로 나누고 그 나머지가 7인 경우에 answer에 값을 더해준다.
보통 동전 개수 찾을 때 쓰는 로직인데 이렇게도 쓸 수 있구나 생각했다.
728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 세균 증식 (0) 2023.08.30 자바 알고리즘 - 문자열 정렬하기(2) (0) 2023.08.29 자바 알고리즘 - 잘라서 배열로 저장하기 (0) 2023.08.29 자바 알고리즘 - 종이 자르기 (0) 2023.08.28 자바 알고리즘 - 연속된 수의 합 (1) 2023.08.28