seong

백준 2577번 본문

알고리즘/백준

백준 2577번

hyeonseong 2022. 7. 29. 10:46

풀이

  1. 곱한 결과 값을 result에 저장
  2. 배열의 크기는 0~9 → 크기는 10으로 선언
  3. resultr값을 문자형으로 변환 하여 str에 저장
  4. 결과 값의 길이만큼 반복 하는 for문
  5. 0~9 까지 숫자를 찾기 위한 중첩 반복문
  6. str.charAt(i) - ‘0’ ⇒ 문자열의 i번째 자릿수를 정수형으로 형 변환 시켜주는 식 ( charAt(i) - ‘0’ 은 아스키 코드를 참조 )
  7. str.charAt(i)값이 j와 같다면 arr[j]번 자리에 1을 증가시킨다.(배열의 크기만 선언하면 초기값은 0)
import java.util.Arrays;
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 = Integer.toString(result);
        for(int i = 0; i < str.length();i++){// str의 길이 만큼 반복
            for(int j =0; j <10; j++){
                if((str.charAt(i) - '0') == j){
                    //str.charAt(i)의 값이 정수로 변환 했을때 == j 와 같을 경우
                    //charAt(i) - '0'은 정수 값으로 반환해주는 메소드이다.
                    ++arr[j];
                    break;
                }
            }
        }
        for(int i =0; i < 10; i++){
            System.out.println(arr[i]);
        }

    }
}

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 1546번  (0) 2022.07.29
백준 3052번  (0) 2022.07.29
백준 2562번  (0) 2022.07.29
백준 10818번 (배열 start- Arrays.sort메소드 - 배열내에서 숫자 크기 정렬)  (0) 2022.07.29
백준 1110번  (0) 2022.07.29