๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[Codeforces] 1154A - Restoring Three Numbers

by ์ฃผ๋ฐœ2 2020. 2. 19.
๋ฐ˜์‘ํ˜•

https://codeforces.com/problemset/problem/1154/A

 

Problem - 1154A - Codeforces

 

codeforces.com

๋ฌธ์ œ ํ•ด์„

Polycarp๋Š” a, b, c์˜ ์„ธ ๊ฐœ์˜ ์–‘์˜ ์ •์ˆ˜๋ฅผ ์ถ”์ธกํ–ˆ๋‹ค. ๊ทธ๋Š” ์ด ์ˆซ์ž๋“ค์„ ๋น„๋ฐ€์— ๋ถ€์น˜์ง€๋งŒ, ์ž„์˜์˜ ์ˆœ์„œ๋กœ ๊ฒŒ์‹œํŒ์— ๋„ค ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ ๋Š”๋‹ค. ์ฆ‰, ๊ทธ๋“ค์˜ ์Œ์œผ๋กœ ๋œ ์ดํ•ฉ(3๊ฐœ์˜ ์ˆซ์ž)๊ณผ ์„ธ ๊ฐœ์˜ ์ˆซ์ž(1๊ฐœ์˜ ์ˆซ์ž)์˜ ํ•ฉ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ž„์˜์˜ ์ˆœ์„œ๋กœ ๊ธฐํŒ์—๋Š” a+b, a+c, b+c, a+b+c์˜ ๋„ค ๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์žˆ๋‹ค.

์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ a, b, c์˜ ์„ธ ์ˆซ์ž๋ฅผ ๋งžํ˜€์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์ˆœ์„œ๋กœ๋“  ์„ธ ๊ฐœ์˜ ์ถ”์ธก๋œ ์ •์ˆ˜๋ฅผ ์ธ์‡„ํ•œ๋‹ค.

์ฃผ์–ด์ง„ ์ผ๋ถ€ ์ˆซ์ž a, b, c๊ฐ€ ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•œ๋‹ค(a=b=c๋„ ๊ฐ€๋Šฅํ•˜๋‹ค).

์ž…๋ ฅ
์ž…๋ ฅ์˜ ์œ ์ผํ•œ ์„ ์€ ๋ณด๋“œ์— ๋ฌด์ž‘์œ„ ์ˆœ์„œ๋กœ ์“ฐ์—ฌ์ง„ 4๊ฐœ์˜ ์–‘์˜ ์ •์ˆ˜ x1,x2,x3,x4(2 ≤xi≤109)๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ฃผ์–ด์ง„ ์ˆซ์ž x1,x2,x3,x4์— ๋Œ€ํ•œ ๋‹ต์ด ์กด์žฌํ•จ์„ ๋ณด์ฆํ•œ๋‹ค.

์ถœ๋ ฅ
๊ทธ๋Ÿฌํ•œ ์–‘์˜ ์ •์ˆ˜ a, b, c๋ฅผ ์ธ์‡„ํ•˜์—ฌ ๋ณด๋“œ์— ์“ฐ์—ฌ์ง„ 4๊ฐœ์˜ ์ˆซ์ž๊ฐ€ a+b, a+c, b+c, a+b+c์˜ ๊ฐ’์ด๋‹ค. a, b, c๋ฅผ ์ž„์˜์˜ ์ˆœ์„œ๋กœ ์ธ์‡„ํ•œ๋‹ค. ๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์œผ๋ฉด ์–ด๋Š ๊ฒƒ์ด๋“  ์ธ์‡„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹ต์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•œ๋‹ค.


 

์ฝ”๋“œ

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int[] arr = new int[4];
		for(int i=0; i<arr.length; i++)
			arr[i] = scan.nextInt();
		Arrays.sort(arr);
		int a = arr[3] - arr[0];
		int b = arr[3] - arr[1];
		int c = arr[3] - arr[2];
		
		System.out.println(a + " " + b + " " + c);
		scan.close();
	}

}

 

๊ฐ€์žฅ ํฐ ๊ฒƒ์—์„œ ๋‚˜๋จธ์ง€ ์ˆซ์ž๋ฅผ ๋บ€๊ฒŒ a, b, c ๊ฐ’์ด๋‹ค.

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€