알고리즘 연습
[백준_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
반응형