๐Ÿงฉ Algorithm/[BOJ] Bronze

BOJ 3009 : ๋„ค ๋ฒˆ์งธ ์  (Java/๊ตฌํ˜„/Bronze 3)

devCloud 2024. 10. 14. 16:55
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‰ https://www.acmicpc.net/problem/3009


์„ค๋ช…

์„ธ ์ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ถ•์— ํ‰ํ–‰ํ•œ ์ง์‚ฌ๊ฐํ˜•์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๋„ค ๋ฒˆ์งธ ์ ์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

ํ’€์ด

์•„๋ž˜ ์‚ฌ๊ฐํ˜•์€ ์ž…๋ ฅ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ์˜ ๊ทธ๋ฆผ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด์€ x๊ฐ’, ๋‘ ๋ฒˆ์งธ ์—ด์€ y๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.  

5 5
5 7
7 5

 

์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ•  ๊ฑฐ ์—†์ด x์™€ y๊ฐ’์—์„œ ์ค‘๋ณต์ด ์—†๋Š” ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

 

sol.1

  • ์ฒซ ๋ฒˆ์งธ ์ˆ˜์™€ ๋‘ ๋ฒˆ์งธ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ์„ธ ๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ์ˆ˜์™€ ์„ธ ๋ฒˆ์งธ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ๋‘ ๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ์ˆ˜์™€ ๊ฐ™์€ ์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ์ฒซ ๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

sol.2 - ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉ

 

Expression1์ด true์ด๋ฉด Expression2๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , false์ด๋ฉด Expression3๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • x[0]๊ณผ x[1]์ด ๊ฐ™์œผ๋ฉด x[2]๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด x[0]๊ณผ x[2]๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • (x[0] == x[1]) ? x[2] : (x[0] == x[2]) ? x[1] : x[0]

 

 

Solution

sol.1

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[] x = new int[3];
        int[] y = new int[3];

        for (int i = 0; i < 3; i++) {
            String[] nums = br.readLine().split(" ");
            x[i] = Integer.parseInt(nums[0]);
            y[i] = Integer.parseInt(nums[1]);
        }
        int result1, result2;
        if (x[0] == x[1]) result1 = x[2];
        else if (x[0] == x[2]) result1 = x[1];
        else result1 = x[0];

        if (y[0] == y[1]) result2 = y[2];
        else if (y[0] == y[2]) result2 = y[1];
        else result2 = y[0];

        System.out.println(result1 + " " + result2);
    }
}

 

 

sol.2

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int[] x = new int[3];
        int[] y = new int[3];

        for (int i = 0; i < 3; i++) {
            String[] nums = br.readLine().split(" ");
            x[i] = Integer.parseInt(nums[0]);
            y[i] = Integer.parseInt(nums[1]);
        }
        int result1 = (x[0] == x[1]) ? x[2] : (x[0] == x[2]) ? x[1] : x[0];
        int result2 = (y[0] == y[1]) ? y[2] : (y[0] == y[2]) ? y[1] : y[0];

        System.out.println(result1 + " " + result2);
    }
}

 


 

728x90