세자리수 2개를 입력받고 2번째 입력받은 세자리수에 있는 각 자리수의 값을 곱하고
곱한값을 출력한 뒤, 해당 값을 전부 더하면 된다.
메소드를 사용하면 쉽게 해결될 문제 같아서 메소드를 사용해서 간단하게 풀었다.
Integer.toString 메소드는 문자열을 정수형으로 바꿔주는 메소드이다.
b는 2번째로 입력받은 정수, 즉 곱해줘야 하는 값이고 우리가 자리수를 찾아야 할 값이므로 문자형으로 바꿔줄 것 이다.
그 후 charAt() 메소드를 사용하여 문자의 위치값을 구해줬다.
385 를 예시로 들어보겠다.
인덱스는 1부터 시작하는게 아닌 0부터 시작이다.
숫자를 곱하려면 1의자리수부터 곱해야 하기 때문에 5부터 곱해야만 한다.
따라서 char 값들을 지정하면 된다.
charAt(0) = 5 / charAt(1) = 8 / charAt(2) = 3
다시 정수형으로 바꿔줘야 한다. 바꾸지 않고 char 값 자체로 곱하게 된다면 아스키코드의 값으로 곱해진다.
아스키코드에서 5는 문자로 치면 ENQ 이다. 그래서 char 값이 5로 곱하게 된다면 다른 결과값이 나오므로
Character.getNumericValue로 다시 정수값으로 바꿔준다.
Character.getNumericValue(char ch) 메서드는 주어진 문자(ch)가 숫자인 경우 해당 숫자 값을 반환하는 메서드이다. 예를 들어, '0'부터 '9'까지의 숫자 문자를 입력으로 받으면 그에 해당하는 정수 값을 반환하며, 그렇지 않은 문자인 경우 -1을 반환한다.
(예시)
2년전에 처음 코딩 문제 풀었을 때 틀린 문제임 ㅋㅋ
'백준 및 코딩테스트 공부' 카테고리의 다른 글
백준 2908번 자바 문제풀이 (0) | 2024.10.18 |
---|---|
백준 2675번 자바 문제풀이 (0) | 2024.10.18 |
백준 10809 자바 문제풀이 (0) | 2024.10.18 |
백준 5597번 자바 (0) | 2024.10.18 |
백준 10813번 자바 (0) | 2024.10.18 |