반응형
1. 문제
세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
2. 풀이
charAt를 이용해서 풀기
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
String B = sc.next();
for(int i = 2; i >= 0; i--)
{
int one = Character.getNumericValue(B.charAt(i));
System.out.println(A * one);
}
System.out.println(A * Integer.parseInt(B));
}
}
몫과 나머지를 구해서 풀기
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
System.out.println(A * (B % 10));
System.out.println(A * (B % 100 / 10));
System.out.println(A * (B / 100));
System.out.println(A * B);
}
}
3. 처음 작성한 코드
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
String B = sc.next();
for(int i = 2; i >= 0; i--)
{
int one = B.charAt(i);
System.out.println(A * one);
}
System.out.println(A * Integer.parseInt(B));
}
}
처음 생각할 때 뒤의 (2)번 위치의 자연수를 문자열로 받고 뒤에서부터 하나씩 떼어서 A랑 곱하면 될 거라고 생각했다
하지만 실제로 이클립스에 돌려보니 이런 결과가 나왔다....
아스키코드는 생각도 못하고 있다가 이런 실수를 해버렸다..
아스키코드를 int 로 변환해서 돌렸더니 문제에서 요구하는대로 나온다.
https://www.acmicpc.net/problem/2588
반응형
'Baekjoon [Java]' 카테고리의 다른 글
백준 [Java] 10172번 개 (0) | 2024.07.01 |
---|---|
백준 [Java] 10171번 고양이 (0) | 2024.07.01 |
백준 [Java] 10430번 나머지 (0) | 2024.06.28 |
백준 [Java] 18108번 1998년생인 내가 태국에서는 2541년생?! (0) | 2024.06.28 |
백준 [Java] 10926번 ??! (0) | 2024.06.28 |