22.02.17 백준 2577번

문제

첫번째 제출한답

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int result = a*b*c;
		int[] arr = new int[10];
		String str = String.valueOf(result);
		for (int i = 0; i < str.length(); i++) {
			for (int j = 0; j < arr.length; j++) {
				if(str.charAt(i)==j+48) arr[j]++; 
			}
		}
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}

}

접근방식 -> 10개짜리 int 배열을 만들고 abc 를 문자열로 변환한뒤 for문과 charAt()으로 하나하나씩 체크하고 처리한다 해당 인덱스의 문자가 숫자일경우 앞서 만든 10개짜리 배열에 해당 인덱스의 값을 1씩 증가시킨다.
ex) str = "1031293" 일경우 arr[0] = 1 ,arr[1] = 2, arr[2] = 1....이된다.
결과 -> 정답

좋은 웹페이지 즐겨찾기