백준 2588 ) 곱셈 (java)

2021. 8. 8. 00:59코딩/백준

이 문제를 풀면서 내가 생각했던 사고방식은 이랬다. 

a=472로 잡고 나머지는 472x5, 472*80, 472x300 이런식으로 계산하거나 

385를 값 하나로 받아서 이걸 하나씩 for문을 돌려가면서 곱해야 하나? 근데 그걸 어떻게 해야 하지? 에서 막혔다. 

 

일단 내가 짜본 코드는 여기까지이다. 

472x5=2360 까지의 결과는 잘 나오지만, c부터 결과가 잘 나오지 않았다. 

 

그래서 다른 분들의 코드를 참고하였다. 

https://st-lab.tistory.com/20 명쾌한 풀이 감사드립니다. 

Scanner을 이용하여 A는 int로, B는 String으로 입력받는다. 

그리고 B는 charAt()으로 각 자리수를 참조해준다 (이게 내가 생각해던 방법이였군.) 

charAt()은 문자열 인덱스 위치에 있는 문자값을 반환한다. 

 

String str = "abcdef";라면 각 인덱스 위치는 0부터 5까지이다. 

str에 문자열 abcdef가 저장되어있을 때 문자열을 모인 배열이라고 보고 인덱스를 참조하여 문자 반환. 이때 반환되는 값은 

인덱스 값이 아닌 아스키코드값인 문자(char)이다. 

ex) String num = 345; 

int result = num.charAt(0); 이라고 하면 result=3이라고 착각할 수 있다. 아스키코드 값에 따라 숫자 3이 아닌 문자 3임을 명시 

 

 실행 결과 

'코딩 > 백준' 카테고리의 다른 글

백준 10430 ) 나머지 (java)  (0) 2021.08.07
백준 10869 ) 사칙연산 (java)  (0) 2021.08.07
백준 1008 ) A/B (java)  (0) 2021.08.06
백준 10998 ) AxB (java)  (0) 2021.08.06
백준 1001 ) A-B 출력 (java)  (0) 2021.08.06