구현 - 백준 2577

경운·2025년 9월 27일
0

코딩테스트

목록 보기
7/13
post-thumbnail

BOJ/백준 2577

🐣 백준 - 숫자의 개수

1. 문제

  • 3개의 자연수 A, B, C가 주어지고 A B C를 계산한 결과에 0부터 9까지 각각 숫자가 몇 번씩 쓰였는지 구하는 문제이다

2. 입력

  • A, B, C (100 <= A,B,C < 1,000) 자연수

3. 출력

  • A * B * C의 결과에 0부터 9까지의 숫자가 각각 몇번 쓰였는지 출력

4. 시간 복잡도

  • A, B, C는 항상 1,000 미만이고 세 수의 곱한 값의 자릿수는 최대 9자리로 항상 일정
  • 입력 크기에 영향을 받지 않기 때문에 상수 시간 복잡도를 가진다 -> O(1)

5. 코드 구현

import java.io.*;
import java.util.StringTokenizer;

public class No_2577 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		// 1. 3개의 자연수 입력 받기
		int A = Integer.parseInt(br.readLine()); 
		int B = Integer.parseInt(br.readLine());
		int C = Integer.parseInt(br.readLine());
		
		String multi = String.valueOf(A * B * C);
		
		// 2. 0부터 9까지 숫자의 개수 저장할 배열
		int count[] = new int[10];
		
		// 문자열 한 글자씩 순회
		for (int i = 0; i < multi.length(); i++) {
			int digit = multi.charAt(i) - '0';
			
			// 해당 숫자의 카운트 1 증가
			count[digit]++;
		}
		
		// 3. 0부터 9까지 카운트 순서대로 출력
		for(int i = 0; i < count.length; i++) {
			System.out.println(count[i]);
		}
	}
}

0개의 댓글