ezhoon

[백준] 2577_숫자의 개수_Java 본문

[Java] 백준 문제풀이/1차원 배열

[백준] 2577_숫자의 개수_Java

ezhoon 2022. 1. 7. 20:20

백준 2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

www.acmicpc.net

 

⚠️주의사항

  • 0부터 ~9까지 각각의 숫자가 몇 번씩 쓰였는지 구해야 한다.
  • 한 줄에 하나씩 차례로 출력한다.

문제풀이


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.stream.Stream;

public class Arrange_2577 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int A = Integer.parseInt(br.readLine());
        int B = Integer.parseInt(br.readLine());
        int C = Integer.parseInt(br.readLine());

        int index = A * B * C;
        int[] digits = Stream.of(String.valueOf(index).split("")).mapToInt(Integer::parseInt).toArray(); // int -> String 값으로 변환 후 배열로 변환해주는 과정

        for (int i = 0; i < 10; i++) {
            int cnt=0;
            for (int j = 0; j < digits.length; j++) {
                if (digits[j] == i) {
                  cnt++;
                }
            }
            System.out.println(cnt);
        }
    }
}

첫 for문은 0~9까지 숫자가 각각 몇 번씩 쓰였는지 구분하기 위해서 사용했습니다.

두 번째 for문은 배열로 변환한 값을 차례로 하나씩 확인하기 위해서 사용됐고, 만약 있을 시 cnt++로 수량 체크했습니다.

'[Java] 백준 문제풀이 > 1차원 배열' 카테고리의 다른 글

[백준] 8958_OX퀴즈_Java  (0) 2022.01.08
[백준] 1546_평균_Java  (0) 2022.01.08
[백준] 3052_나머지_Java  (0) 2022.01.07
[백준] 2562_최댓값_Java  (0) 2022.01.07
[백준] 10818_최소, 최대_Java  (0) 2022.01.07
Comments