-
문제 14 -숫자 개수 출력알고리즘/알고리즘 기초 100제 2020. 8. 2. 21:48
문제 : 입력된 숫자의 개수를 출력하세요.
입력 : 421314218
정답 :
0 : 0
1 : 3
2 : 2
3 : 1
...
9 : 0
나의 풀이
import java.util.*; /* * 421314218 * 0 : 0 1 : 3 2 : 2 ... 9 : 0 */ public class Study14{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("Input the numbers"); int num = scanner.nextInt(); String[] arr = String.valueOf(num).split(""); int[] numArr = new int[10]; for(String str : arr){ int temp = Integer.parseInt(str); numArr[temp] = numArr[temp]+1; } /* the answer of the lecture. int arr[] = new int[10]; while(n > 0){ arr[n%10]++; n/=10; } */ // int[] -length for(int i=0; i<numArr.length; i++){ System.out.println(i + ":" + numArr[i]); } } }
강의의 해답을 보면 배열에 들어가는 값을 바로 계산하였는데,
저렇게 하면 하면 굳이 입력된 수를 String으로 변환하거나, 변환한 값을 다시 int로 변환하는 행위를 하지 않아도 되서 더 깔끔한것 같다.
출처 : https://www.youtube.com/watch?v=-9Ne6s2dVH0&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=15
'알고리즘 > 알고리즘 기초 100제' 카테고리의 다른 글
문제16 - 별출력 (0) 2020.08.09 문제 15 - 구구단 출력 (0) 2020.08.02 문제13 - 숫자 사각형 4 (0) 2020.07.26 문제 12 - 숫자 사각형 3 (0) 2020.07.26 문제11 - 숫자 사각형 2 (0) 2020.07.22