https://www.acmicpc.net/problem/2588
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
import java.util.Scanner; public class Num2588 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a,b; int arr[] = new int[3]; a = sc.nextInt(); 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); } }
연산자 우선순위
해당 문제를 보다 쉽게 풀기 위해서는 연산자 우선순위를 알아야했다. 막상 문제를 풀다보니 연산자 우선순위를 생각하지 않고 문제를 풀려고해서 오답도 나오고 시간이 오래걸렸다.
기본적으로 괄호가 우선순위가 높고, 산술>비교>논리>대입의 순서로 진행되며 항 같은 경우에는 단한>이항>삼항 순이다.
1,10,100 의 자리 추출하기