알고리즘 연습

[백준_BOJ] 2577. 숫자의 개수 _ JAVA

코딩하는 너구리 2019. 12. 28. 12:58
반응형

문제

 

 

 

 

 

 

 

 

풀이

 

 

 

먼저 A, B, C 세 정수를 입력받습니다.

 

입력 받은 A * B * C 의 결과를 result에 문자열 형태로 저장하였습니다.

 

result에서 숫자 하나씩 떼어 0 ~ 9로 이루어진 배열에 해당 숫자를 1씩 카운트 해주었습니다.

 

 

나중에 계수 정렬 (counting sort)에 대해 배운다면 자주 사용하게 될 기법이니 익혀두시길 바랍니다.

 

주의할 점은 result는 String 형태이므로 숫자 하나씩 떼어낸다면

 

떼어낸 숫자는 int형이 아니라 char형태입니다.

 

따라서 array[result.charAt(i)] 가 아닌 array[result.charAt(i)-'0']로 해주셔야 정확한 배열의 위치로 찾아갈 수 있습니다.

카운팅이 모두 끝난 후 0부터 9까지 for문을 이용해 차례대로 출력해주었습니다.

 

 

 

 

 

코드

 

 

 

 

 

 

 

출처

 

 

 

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

 

2577번: 숫자의 개수

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

www.acmicpc.net

 

 

 

반응형