[JAVA] 백준_1000, 2588

입력값 받기, charAt

Posted by iheese on April 08, 2022 · 3 mins read

1000

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
  Scanner sc =new Scanner(System.in);  

  int num1 =sc.nextInt();
  int num2 =sc.nextInt();

  System.out.println(num1+num2);
  }
}
  • sc.next() : 스트링 타입 입력값 받기
  • sc.nextInt() : 인트 타입 입력값 받기
  • sc.nextDouble() : 더블 타입 입력값 받기 (기본 구분자 띄어쓰기)


2588

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
  Scanner sc =new Scanner(System.in);  
    int num1= sc.nextInt();
    int num2= sc.nextInt(); 
      
      
    System.out.println(num1*(num2%10));
    System.out.println(num1*((num2-(num2%10)-((num2/100)*100))/10));  // num1 *((num2%100)/10) 쉬운 방법이 있었다..
    System.out.println(num1*(num2/100));
    System.out.println((num1*num2));    

   }
  }
  • 위와 같이 값을 두 개 받을 때 띄어쓰기로 받아도 되고 엔터로 받아도 된다.


문자열을 이용한 다른 답

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
 
		int A = in.nextInt();
		String B = in.next();
        
		in.close();
 
		System.out.println(A * (B.charAt(2) - '0'));
		System.out.println(A * (B.charAt(1) - '0'));
		System.out.println(A * (B.charAt(0) - '0'));
		System.out.println(A * Integer.parseInt(B));
 
	}
}
  • 첫번째 값은 그냥 인트로 받고 두번째는 스트링으로 받는다
  • 스트링의 문자를 각각 볼 수 있는 charAt을 이용하고 해당 문자의 아스키 코드에서 ‘0’ 의 아스키 코드값을 빼준다. 그럼있는 그대로 값을 얻게 된다.
  • Integer.parseInt 은 문자를 인트로 바꿔주는 방법


Reference: -[백준] 2588번 : 곱셈 - JAVA [자바]_ Strong’s LAB