๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
    <
Algorithm/SWEA

[SWEA] 1225๋ฒˆ: ์•”ํ˜ธ์ƒ์„ฑ๊ธฐ (Java) / LinkedList

by yeeeh 2022. 2. 8.

๐Ÿ“ ๋ฌธ์ œ ์ถœ์ฒ˜

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com

 

๐Ÿ“ ๋ฌธ์ œ ๋ถ„์„

1. ์•”ํ˜ธ ๋ฐฐ์—ด์˜ ์ˆ˜ ๋งŒํผ ์‚ฌ์ดํด์„ ๋„๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ 5๋ฒˆ ๊ฐ์†Œ๊ฐ€ 1์‚ฌ์ดํด์ด๋‹ค.

2. ๋งˆ์ง€๋ง‰์ด 0์ด ๋˜๋Š” ๊ฒฝ์šฐ ๋ฉˆ์ถ”๊ณ , ์•”ํ˜ธ ๋„์ถœ

 

๐Ÿ“ ์ฝ”๋“œ ๋ณด๊ธฐ (๋”๋ณด๊ธฐ ๐Ÿ‘‡๐Ÿป)

๋”๋ณด๊ธฐ
๋”๋ณด๊ธฐ
public class Solution {
    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static StringTokenizer st;
    private static StringBuilder answer = new StringBuilder();
     
    private static int T;
    private static Queue<Integer> numbers = new LinkedList<>();
     
    public static void main(String[] args) throws IOException {
        while(true) { 
            String s = br.readLine();
            if(s == null){ // ์ฝ์„ ๋‚ด์šฉ์ด null ์ด๋ฉด ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
                break;
            }
            T = Integer.parseInt(s);
            st = new StringTokenizer(br.readLine());
            numbers = new LinkedList<>();
             
            for(int i = 0; i<8; i++) {
                numbers.offer(Integer.parseInt(st.nextToken()));
            } // ์ž…๋ ฅ ์™„๋ฃŒ
             
            while(!numbers.contains(0)) {        // ํ์— 0์ด ์—†์œผ๋ฉด ๋ฐ˜๋ณต.
                int temp = 0;
                for(int i = 1; i<=5; i++) {      // ํ•œ ์‚ฌ์ดํด์€ 1 ~ 5 ๊ฐ์†Œ.
                    temp = numbers.poll() - i;   // ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ๋นผ์„œ i ๊ฐ์†Œ
                    if(temp <= 0) {              // ์‚ฌ์ดํด ๋„์ค‘ temp๊ฐ€ 0์ธ ๊ฒฝ์šฐ
                        temp = 0;
                        numbers.offer(temp); 
                        break;                   // ์‹ธ์ดํด์„ ๋ฉˆ์ถ˜๋‹ค.
                    }
                    numbers.offer(temp);         // numbers ์— temp๋ฅผ ๋„ฃ๋Š”๋‹ค.
                }
            }
             
            answer.append("#"+T+" ");
            while(!numbers.isEmpty()) {
                answer.append(numbers.poll()+" ");
            }
            answer.append("\n");
             
        } //while ๋ฐ˜๋ณต๋ฌธ
        System.out.println(answer);
 
    }
 
}

๐Ÿ“ ์ฝ”๋“œ ํ’€์ด

1. br.ready() ํ•จ์ˆ˜๋ฅผ ์•Œ๊ธฐ ์ „์ด๋ผ์„œ while ๋ฌธ์„ true๋กœ ๋Œ๋ฆฌ๊ณ , ์ฝ์„ ๋‚ด์šฉ์ด null ์ธ ๊ฒฝ์šฐ ์ข…๋ฃŒ๋ฅผ ํ•ด์ฃผ๋Š” if๋ฌธ์„ ์ถ”๊ฐ€๋กœ ์ž‘์„ฑํ–ˆ๋‹ค.

2. numbers ํ์— 0์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•œ๋‹ค.

๋Œ“๊ธ€