Algorithm/Baekjoon

[Algorithm/Baekjoon] ๊ฐ€ํฌ์™€ ํƒ‘ - 24337 (G3/JAVA)

dpdms2148 2023. 7. 5. 12:13
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

24337๋ฒˆ: ๊ฐ€ํฌ์™€ ํƒ‘

๐Ÿ’ป์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.ArrayList;

public class Main {

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

        int N = Integer.parseInt(st.nextToken());// ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜
        int A = Integer.parseInt(st.nextToken());// ๊ฐ€ํฌ๊ฐ€ ๋ณด๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜
        int B = Integer.parseInt(st.nextToken());// ๋‹คํฌ๊ฐ€ ๋ณด๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜

        ArrayList<Integer> building = new ArrayList<>();
        for(int i = 1; i < A; i++){
            building.add(i);
        }
        building.add(Math.max(A, B));
        for(int i = B - 1; i > 0; i--){
            building.add(i);
        }

        if(building.size() > N){
            System.out.println(-1);
            return;
        }

        int first = building.remove(0);
        int size = building.size();
        for(int i = 0; i < N - size - 1; i++){
            building.add(0, 1);
        }
        building.add(0, first);
        for(int i = 0; i < N; i++){
            System.out.print(building.get(i)+" ");
        }
    }
}

โณํšŒ๊ณ 

  • ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์— ๋งž๊ฒŒ ๋นŒ๋”ฉ์„ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€๋Š” ์ƒ๊ฐํ–ˆ๋‹ค.
  • ๋‘๋ฒˆ์งธ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ์ž๋ž€ ๊ฑด๋ฌผ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์•ž์— ์ฑ„์šด๋‹ค๋Š” ์ƒ๊ฐ์„ ์ง์ ‘ ๋ชปํ–ˆ๋‹ค.
728x90