문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
- 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
- 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
풀이
방법
- 첫번째 숫자는
int
로 받고 두번째 숫자는String
으로 받는다.
- 두번째 숫자로 for문을 돌면서 첫번째 숫자를 곱한 값을 출력한다.
- 마지막에 두 수를 곱한 값을 출력한다.
배운 문법
String
객체의charAt
메소드를 통해char
값을 얻을 수 있다.→ (주의) 얻어지는 순서는 앞에서 부터 = for 문 거꾸로!
String.valueof
를 통해char
을String
으로 바꿀 수 있다.
Integer.parseInt()
함수를 통해String
을int
로 바꿀 수 있다.⇒ 나름 검색을 통해 변환한 방법이었지만, 더 좋아보이는 방법을 2개 찾았다.
추가로 배운 문법
Character.getNumericValue
를 통해char
을int
로 바꿀 수 있다.
String
객체의substring
메소드를 사용하면 굳이char
로 변환하지 않아도 된다.
답 - 내가 짠 코드
import java.util.Scanner;
public class Multiply {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int first = scanner.nextInt();
String second = scanner.next();
for(int i=second.length()-1; i>=0 ; i--){
System.out.println(Integer.parseInt((String.valueOf(second.charAt(i))))*first);
}
System.out.println(first*Integer.parseInt(second));
}
}
서버에 제출할 경우, 클래스 명을 "Main"으로 바꿔야한다.
다른 답 - getNumericValue
System.out.println(Character.getNumericValue(second.charAt(i))*first);
다른 답 - substring
System.out.println(Integer.parseInt(second.substring(i,i+1))*first);
Uploaded by Notion2Tistory v1.1.0