본문 바로가기
JAVA

[백준/자바] 2577번

by 동백05 2022. 1. 6.

#1일1알고리즘

https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

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

www.acmicpc.net

 

 

package algorithm;
import java.util.Scanner;
public class jan06 {

	public static void main(String[] args) {
		// BOJ #2577
		Scanner s=new Scanner(System.in);
		int a=s.nextInt();
		int b=s.nextInt();
		int c=s.nextInt();
		int multi=a*b*c; //3개 값 곱함
		String multi1=String.valueOf(multi); //정수를 한 자리씩 나누기 위해서 String으로 바꿈
		String result[]=new String[multi1.length()]; 
		Integer count[]=new Integer[10]; //0~9까지 횟수를 더할 배열 생성
		for(int i=0;i<10;i++) {
			count[i]=0; //전부 0으로 초기화
		}
		for(int i=0;i<multi1.length();i++) {
			result[i]=multi1.substring(i,i+1); //한자리씩 나눔
			for(int j=0;j<10;j++) {
				if(result[i].equals(String.valueOf(j))) { //나눈 값이 어떤 값인지 확인
					count[j]++;
				}
			}
		}
		for(int i=0;i<10;i++) {
			System.out.println(count[i]);
		}
		
	}

}

Int를 한자리씩 나누기 위해서 String으로 변환하였다.

result[i]안에 값은 String이고 j는 정수형이기 때문에 비교되지 않음을 잊지 말아야한다. j역시 String으로 바꿔서 비교해줘야 한다.

'JAVA' 카테고리의 다른 글

[백준/자바] 4344번 평균은 넘겠지  (0) 2022.01.11
[백준/자바] 3052번 나머지  (0) 2022.01.09
[백준/자바] 2908번 상수  (0) 2022.01.08
[백준/자바] 1259번 팰린드롬수  (0) 2022.01.04
[백준/자바] 2475번  (0) 2021.12.21

댓글