umilove98의 블로그

백준 1598 Java 자바 본문

algorithm/백준

백준 1598 Java 자바

umilove98 2021. 8. 6. 13:31
반응형

 

 

각 숫자를 입력받으면 우선 표에서 해당 숫자가 어느 위치인지를 구한다. 

4가 넘어가면 다음 열로 넘어가는 구조이므로 입력숫자 % 4 - 1을 하면 해당 숫자의 첫번째 인덱스 번호를 구할 수 있다. 단, 나머지가 0일 경우에는 4의 배수이므로 인덱스 번호를 3으로 고정해준다. 

또한 오른쪽으로 한칸 갈때마다 4씩 추가되는 구조이므로 입력숫자 / 4를 구해주면 해당 숫자의 두 번째 인덱스 번호를 구할 수 있다. 단, 나머지가 0일 경우에는 다음 열로 넘어가지 않으므로 입력숫자 / 4 - 1을 해준다. 

이렇게 두 숫자의 인덱스 번호 x1, y1   x2, y2를 구한다면 같은 위치끼리 큰 수에서 작은 수를 뺀 값을 결과값에 더한다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Q1598 {
 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int num1 = Integer.parseInt(st.nextToken());
        int num2 = Integer.parseInt(st.nextToken());
        int x1, x2, y1, y2;    
        
        if (num1 % 4 == 0) {    // 4로 나눈 나머지가 0이면 해당 숫자의 인덱스 번호는 3, num / 4 -1
            x1 = 3;
            y1 = num1 / 4 - 1;
        }else {                    // 아니면 num % 4 - 1, num / 4
            x1 = num1 % 4 - 1;
            y1 = num1 / 4;
        }
        
        if (num2 % 4 == 0) {
            x2 = 3;
            y2 = num2 / 4 - 1;
        }else {
            x2 = num2 % 4 - 1;
            y2 = num2 / 4;
        }
 
        int result = 0;
        if(x1 > x2) {    // 두 수의 인덱스 번호 중 큰 수에서 작은 수를 빼서 그 차를 구하여 합한다. 
            result += x1 - x2;
        }else {
            result += x2 - x1;
        }
        
        if(y1 > y2) {
            result += y1 - y2;
        }else {
            result += y2 - y1;
        }
        System.out.println(result);
        
 
    }
 
}
cs
반응형

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

백준 1837 Java 자바  (0) 2021.08.09
백준 1427 Java 자바  (0) 2021.08.07
백준 1417 Java 자바  (0) 2021.08.05
백준 1547 Java 자바  (0) 2021.08.05
백준 1246 Java 자바  (0) 2021.08.04