숫자의 개수(2577)
각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 만드는 문제
문제
세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.
예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.
입력
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다.
출력
첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 숫자가 각각 몇 번 쓰였는지 차례로 한 줄에 하나씩 출력한다.
예제 입력
예제 출력
문자열분리를 사용해서 문제를 풀어야한다(실패 ㅠ)
int를 3번 입력받아서 n값에 넣어줌
문자열분리를 하기 위해서 n을 string으로 변환한다
첫 번째 for문은 각각의 수를 검사하기 위한 for문
여기서는 갯수를 기록하기 위한 변수인 count를 초기화시켜준다(각 자리수 마다 0으로 초기화되어는)
두 번째 for문은 str의 길이만큼 모든 요소를 charAt()을 통해 해당 인덱스만큼 돌면서 i가 있는지 확인 후, count를 1 증가
저번에도 있었는데 charAt()을 사용하는 경우 -48이나 -'0'을 해줘야 아스키코드가 아닌 문자가 되기 때문에 무조건 기억하고 있자!
참고
2번째시도
구현자체는 어려운게 없었지만 역시.. 자바로 공부하는데
int -> char를 왜 몰랐을까....
전에도 봤던 것 같은데 (char)로 형변환해주는데 이렇게만 변환해주면 아스키코드가 나오기 때문에
'0'을 더해주는걸로 원하는 int값으로 되돌려 준다!!!!
모르면 많이 불편할꺼같으니까 다시 기억하자
Last updated
Was this helpful?