๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 5619_์„ธ ๋ฒˆ์งธ

๋ฟŒ์•ผ._. 2024. 7. 30. 13:15
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/5619)

< ์„ธ ๋ฒˆ์งธ >

 

๋ฌธ์ œ ํ’€์ด 

 

์ฃผ์–ด์ง„ ์ˆ˜๋ฅผ ์ •๋ ฌํ•œ ํ›„ 2๊ฐœ๋ฅผ ์„ ํƒํ•ด์„œ ๋ถ™์—ฌ์„œ ์ƒˆ๋กœ์šด ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ArrayList์— ์ €์žฅํ•œ๋‹ค. ArrayList๋ฅผ ์ •๋ ฌ ํ›„ 3๋ฒˆ์งธ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ArrayList์˜ 3๋ฒˆ์งธ ๊ฐ’์ด ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ทธ ์ดํ›„์—๋„ ๋ฐ”๋€” ์ผ์ด ์—†์œผ๋ฏ€๋กœ ์ข…๋ฃŒํ•œ๋‹ค.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

public class _5619_ { // ์„ธ ๋ฒˆ์งธ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(bf.readLine());

		int arr[] = new int[n];
		for (int i = 0; i < n; i++) {
			arr[i] = Integer.parseInt(bf.readLine());
		}

		Arrays.sort(arr);

		ArrayList<Integer> result = new ArrayList<>();
		int temp = -1;
		for (int i = 0; i < n; i++) {
			for (int j = i + 1; j < Math.min(n, i + 4); j++) {
				result.add(Integer.parseInt(Integer.toString(arr[i]) + Integer.toString(arr[j])));
				result.add(Integer.parseInt(Integer.toString(arr[j]) + Integer.toString(arr[i])));
			}
			Collections.sort(result);
			if (result.size() > 3) {
				if (temp == result.get(2)) {
					break;
				} else {
					temp = result.get(2);
				}
			}
		}
		System.out.println(result.get(2));
	}
}
๋ณ€์ˆ˜)
n : ์ž์—ฐ์ˆ˜ ๊ฐœ์ˆ˜
arr : ์ž์—ฐ์ˆ˜ ์ €์žฅํ•œ ๋ฐฐ์—ด
result : 2๊ฐœ๋ฅผ ์„ ํƒํ•ด์„œ ๋ถ™์—ฌ์„œ ์ƒˆ๋กœ์šด ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ €์žฅํ•˜๋Š” ArrayList
temp : 3๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜

 

์ˆ˜์˜ ๊ฐœ์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. n๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ arr์— ์ €์žฅํ•œ๋‹ค. ๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ ํ›„ ์•ž์—์„œ๋ถ€ํ„ฐ 2๊ฐœ์”ฉ ์„ ํƒํ•ด์„œ ์ƒˆ๋กœ์šด ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ArrayList์— ์ €์žฅํ•œ๋‹ค. 2๊ฐœ์”ฉ ์„ ํƒํ•  ๋•Œ๋Š” ํ•˜๋‚˜์˜ ์ˆ˜์™€ ๊ทธ ์ˆ˜์˜ ๋‹ค์Œ 3๋ฒˆ์งธ ๊ฐ’๊นŒ์ง€๋งŒ ์„ ํƒํ•œ๋‹ค. ๊ทธ ์ดํ›„๋Š” ์„ ํƒํ•ด๋„ ์„ธ ๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ๋Š” ์˜ํ–ฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ArrayList๋ฅผ ์ •๋ ฌํ•œ ํ›„ 3๋ฒˆ์งธ๋กœ ์ž‘์€ ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. ๋งŒ์•ฝ ์ด์ „์— ๊ตฌํ–ˆ๋˜ 3๋ฒˆ์งธ ๊ฐ’๊ณผ ํ˜„์žฌ 3๋ฒˆ์งธ ๊ฐ’์ด ์ผ์น˜ํ•˜๋‹ค๋ฉด ์•ž์œผ๋กœ ๊ฐ’์ด ๋ฐ”๋€” ์ผ์ด ์—†์œผ๋ฏ€๋กœ ์ข…๋ฃŒํ•œ๋‹ค. ๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋‹ค๋ฉด ์ด์ „์— ๊ตฌํ–ˆ๋˜ 3๋ฒˆ์งธ ๊ฐ’์ธ temp๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. 

 

์ตœ์ข… 3๋ฒˆ์งธ๋กœ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.