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

[๋ฐฑ์ค€] 2164๋ฒˆ: ์นด๋“œ2(ํ)

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

https://www.acmicpc.net/problem/2164

 

2164๋ฒˆ: ์นด๋“œ2

N์žฅ์˜ ์นด๋“œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์นด๋“œ๋Š” ์ฐจ๋ก€๋กœ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, 1๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์œ„์—, N๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์•„๋ž˜์ธ ์ƒํƒœ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์นด๋“œ๊ฐ€ ๋†“์—ฌ ์žˆ๋‹ค. ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ์นด๋“œ๊ฐ€ ํ•œ ์žฅ ๋‚จ์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. ์šฐ์„ , ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋ฒ„๋ฆฐ๋‹ค. ๊ทธ ๋‹ค์Œ, ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ์ œ์ผ ์•„๋ž˜์— ์žˆ๋Š” ์นด๋“œ ๋ฐ‘์œผ๋กœ ์˜ฎ๊ธด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N=4์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์ž. ์นด๋“œ๋Š” ์ œ์ผ ์œ„์—์„œ๋ถ€ํ„ฐ 1234 ์˜ ์ˆœ์„œ๋กœ ๋†“์—ฌ์žˆ๋‹ค. 1์„ ๋ฒ„๋ฆฌ

www.acmicpc.net

 

์ฝ”๋“œ

package Silver_IV;

import java.util.*;

public class ์นด๋“œ22_2164 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Queue<Integer> queue = new LinkedList<Integer>();
		int N = scan.nextInt();
		for(int i=1; i<=N; i++)
			queue.add(i);
		
		while(queue.size() != 1) {
			queue.poll();
			int num = queue.poll();
			queue.add(num);
		}

		System.out.println(queue.poll());
		scan.close();
	}

}

 

ํ์—์„œ ๊ฐ€์žฅ ๋จผ์ € ์ €์žฅ๋œ ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” poll() ๋ฉ”์†Œ๋“œ์™€,

๊ทธ๋‹ค์Œ์˜ ๊ฐ’์„ num์— ์ €์žฅํ•ด์„œ ๋ฒ„๋ฆฌ๊ณ , ๋งˆ์ง€๋ง‰์— add(), offer() ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ๋งŒ ์ด์šฉํ•˜๋ฉด

์‰ฝ๊ฒŒ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

http://tcpschool.com/java/java_collectionFramework_stackQueue

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€