[BOJ/๋ฐฑ์ค€] 2573 ๋น™์‚ฐ (JAVA)

2025. 2. 9. 14:25ยท๐Ÿ’ช Algorithm
๋ฐ˜์‘ํ˜•

๋งํฌ

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

 

๋ฌธ์ œ ์š”์•ฝ

N*M ํฌ๊ธฐ ๋ฐฐ์—ด์˜ ๊ฐ ์นธ์—๋Š” ๋น™์‚ฐ ๋˜๋Š” ๋ฐ”๋‹ค(0)๊ฐ€ ์žˆ๋‹ค.

๊ฐ ๋น™์‚ฐ ์นธ์—๋Š” ๋น™์‚ฐ์˜ ๋†’์ด ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

๋™์„œ๋‚จ๋ถ์œผ๋กœ ๋ถ™์–ด์žˆ๋Š” ์นธ๋“ค์€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

๋น™์‚ฐ์˜ ๋†’์ด๋Š” ์ผ ๋…„๋งˆ๋‹ค ๋™์„œ๋‚จ๋ถ ๋„ค ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๋‹ค๊ฐ€ ์ ‘ํ•ด์žˆ๋Š” ๊ฐœ์ˆ˜๋งŒํผ ์ค„์–ด๋“ ๋‹ค.

 

์ฒ˜์Œ์— ํ•œ ๋ฉ์–ด๋ฆฌ์˜ ๋น™์‚ฐ์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ด ๋น™์‚ฐ์ด ๋‘ ๋ฉ์–ด๋ฆฌ ์ด์ƒ์œผ๋กœ ๋ถ„๋ฆฌ๋˜๋Š” ์ตœ์ดˆ์˜ ์‹œ๊ฐ„(๋…„) ๊ตฌํ•˜๊ธฐ

 

์ œํ•œ

  • ์ฒซ ์ค„์—๋Š” ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ํ–‰์˜ ๊ฐœ์ˆ˜์™€ ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ N๊ณผ M์ด ํ•œ ๊ฐœ์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.
    • N๊ณผ M์€ 3 ์ด์ƒ 300 ์ดํ•˜์ด๋‹ค.
  • ๊ทธ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ค„๋งˆ๋‹ค ๋ฐฐ์—ด์˜ ๊ฐ ํ–‰์„ ๋‚˜ํƒ€๋‚ด๋Š” M๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ํ•œ ๊ฐœ์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.
    • ๊ฐ ์นธ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ’์€ 0 ์ด์ƒ 10 ์ดํ•˜์ด๋‹ค.
  • ๋ฐฐ์—ด์—์„œ ๋น™์‚ฐ์ด ์ฐจ์ง€ํ•˜๋Š” ์นธ์˜ ๊ฐœ์ˆ˜, ์ฆ‰, 1 ์ด์ƒ์˜ ์ •์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์นธ์˜ ๊ฐœ์ˆ˜๋Š” 10,000 ๊ฐœ ์ดํ•˜์ด๋‹ค.
    • ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰๊ณผ ์—ด, ๋งˆ์ง€๋ง‰ ํ–‰๊ณผ ์—ด์—๋Š” ํ•ญ์ƒ 0์œผ๋กœ ์ฑ„์›Œ์ง„๋‹ค.
  • ๋งŒ์ผ ๋น™์‚ฐ์ด ๋‹ค ๋…น์„ ๋•Œ๊นŒ์ง€ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

๋น™์‚ฐ์ด ๋‘ ๋ฉ์–ด๋ฆฌ ์ด์ƒ์œผ๋กœ ๋ถ„๋ฆฌ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ๊ฒฐ๊ตญ ์˜์—ญ์ด ๋‘ ๊ฐœ ์ด์ƒ์œผ๋กœ ๋ถ„๋ฆฌ๋˜๋Š”์ง€์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ BFS๋‚˜ DFS๋กœ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ €๋Š” DFS๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ฒ˜์Œ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์€ ๋ฌด์กฐ๊ฑด ํ•œ ๋ฉ์–ด๋ฆฌ์˜ ๋น™์‚ฐ์ด๋ฏ€๋กœ, ๋น™์‚ฐ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜์ง€ ์•Š๊ณ  ๋…น์ธ๋‹ค.
  2. ์ „์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•ด 0์ด ์•„๋‹Œ ๋ฐฐ์—ด ์นธ์„ ๊ธฐ์ค€์œผ๋กœ ๋™์„œ๋‚จ๋ถ ๋ฐฉํ–ฅ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.
  3. ๋น™์‚ฐ ๋…น์ด๊ธฐ
    1. ๋‹ค์‹œ ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ 0์ด ์•„๋‹Œ ์นธ์„ ๊ธฐ์ค€์œผ๋กœ, 2์—์„œ ์ €์žฅํ–ˆ๋˜ ์ฃผ๋ณ€ 0์˜ ๊ฐœ์ˆ˜๋งŒํผ ๊ฐ’์„ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.
      1. ๋‹จ, ๊ฐ’์€ ์Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค. ์ตœ์†Ÿ๊ฐ’ 0์„ ๋„˜๊ธฐ์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.
      2. ์ „์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•œ๋‹ค.
    2. ์‹œ๊ฐ„(๋…„)์„ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  4. ๋น™์‚ฐ ๊ฐœ์ˆ˜ ์นด์šดํŠธํ•˜๊ธฐ
    1. ๋ฐฐ์—ด์—์„œ 0 ์ดˆ๊ณผ์ธ ์นธ์„ ์‹œ์ž‘์ ์œผ๋กœ ์žก๋Š”๋‹ค.
    2. ์‹œ์ž‘์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋™์„œ๋‚จ๋ถ์„ ํƒ์ƒ‰ํ•œ๋‹ค.
      1. ๊ฐ’์ด 0 ์ดˆ๊ณผ์ด๊ณ  ๊ฒฝ๊ณ—๊ฐ’์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์ด์ „์— ๋ฐฉ๋ฌธํ–ˆ๋˜ ๊ณณ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ƒˆ๋กœ ํƒ์ƒ‰ํ•œ๋‹ค.
      2. ํƒ์ƒ‰ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐฉ๋ฌธ ์—ฌ๋ถ€ ํ‘œ์‹œ๋ฅผ ๋‚จ๊ธฐ๊ณ  ๋” ์ด์ƒ ์—ฐ์†์ ์œผ๋กœ ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•œ ์นธ์ด ์—†์„ ๋•Œ, ํƒ์ƒ‰์ด ๋๋‚œ๋‹ค.
    3. ๋‹ค์Œ ํƒ์ƒ‰ ์‹œ์ž‘์ ์„ ์ฐพ์•„ ๋ฐฐ์—ด ์ „์ฒด์— ๋Œ€ํ•ด 4๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
  5. ๋น™์‚ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ 0๊ฐœ์ด๊ฑฐ๋‚˜ 2๊ฐœ ์ด์ƒ์ด ์•„๋‹ˆ๋ฉด, 2๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
  6. ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด ๋ฐ˜๋ณต์ด ๋๋‚˜๋ฉด, ๊ฑธ๋ฆฐ ์‹œ๊ฐ„(๋…„)์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ฝ”๋“œ

๐Ÿšจ [1์ฐจ] - ํ‹€๋ฆผ

import java.util.*;
import java.io.*;

public class Main {
    static int[][] board;
    static int[][] zeroCnt;
    static boolean[][] visited;
    static int cnt= 1;
    static int[] dirx = {1,0,-1,0};
    static int[] diry = {0,1,0,-1};
    static int n, m;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        n = Integer.parseInt(st.nextToken());
        m = Integer.parseInt(st.nextToken());
        board = new int[n][m];
        int year = 0;

        for(int i=0; i<n; i++){
            st = new StringTokenizer(br.readLine());
            for(int j=0; j<m; j++){
                board[i][j] = Integer.parseInt(st.nextToken());
            }
        }

        while(cnt>0 && cnt<2){
            // ์ฃผ๋ณ€ 0 ๊ฐœ์ˆ˜ ์นด์šดํŠธ
            zeroCnt = new int[n][m];
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && zeroCnt[i][j]==0){
                        int tempCnt = 0;
                        for(int k=0; k<dirx.length; k++){
                            int nx = i+dirx[k];
                            int ny = j+diry[k];
                            if(nx>=0 && nx<n && ny>=0 && ny<m && board[nx][ny]==0) tempCnt++;
                        }
                        zeroCnt[i][j] = tempCnt;
                    }
                }
            }

            // ๋น™์‚ฐ ๋…น์ด๊ธฐ
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && zeroCnt[i][j]>0){
                        board[i][j]=Math.max(0,board[i][j]-zeroCnt[i][j]);
                    }
                }
            }
            year++;

            // ๋น™์‚ฐ ๊ฐœ์ˆ˜ ์นด์šดํŠธ
            cnt=0;
            visited = new boolean[n][m];
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && !visited[i][j]){
                        cnt++;
                        dfs(i,j);
                    }
                }
            }
        }
        System.out.print(cnt==0 ? 0:year);
    }

    static void dfs(int curx, int cury){
        visited[curx][cury]=true;
        for(int i=0; i<dirx.length; i++){
            int nx = curx+dirx[i];
            int ny = cury+diry[i];
            if(nx<0||ny<0||nx>=n||ny>=m) continue;
            if(visited[nx][ny] || board[nx][ny]==0) continue;
            dfs(nx,ny);
        }
    }
}

๐Ÿท [๋ฌธ์ œ์ ]

  • ์ฒ˜์Œ์— ํ•˜๋‚˜์˜ ์นธ์„ ํƒ์ƒ‰ํ•  ๋•Œ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€ ํ‘œ์‹œ๋งŒ ํ•ด์ฃผ๋ฉด 1๋…„ ๋™์•ˆ์€ ๋‹ค์‹œ ์ด ์นธ์„ ํƒ์ƒ‰ํ•  ์ผ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ํƒ์ƒ‰๊ณผ ๋™์‹œ์— ๊ฐ ์นธ์˜ ๊ฐ’์„ -1 ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋ฉด ๋ฐ”๋กœ ์˜† ์นธ์˜ ๋น™์‚ฐ์—์„œ ์ค„์–ด๋“ค ๋†’์ด๋ฅผ ์ •ํ•  ๋•Œ ์˜ํ–ฅ์„ ๋ผ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!
    • ex) ๊ฐ„๋‹จํ•˜๊ฒŒ [1,2,0]์—์„œ 1์„ ๋จผ์ € ํƒ์ƒ‰ํ•˜์—ฌ 1->0์ด ๋˜๋ฉด, 2๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ 2 ->1์ด ๋งž์ง€๋งŒ 2->0์ด ๋ผ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.
  • ์œ„ ์ฝ”๋“œ๋Š” ์šฐ์—ฐํžˆ ์ฃผ์–ด์ง„ ์˜ˆ์ œ ์ถœ๋ ฅ์ด ๋งž์•„์„œ ์ œ์ถœํ–ˆ๋‹ค๊ฐ€ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค ๐Ÿคฃ

 

๐Ÿท [ํ•ด๊ฒฐ๋ฒ•]

  • 0์ด ์•„๋‹Œ ๊ฐ ์นธ์„ ๊ธฐ์ค€์œผ๋กœ ์ฃผ๋ณ€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ์ €์žฅํ•œ ํ›„, ์ €์žฅํ•œ ๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ๋น™์‚ฐ ๋…น์ด๊ธฐ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋‹ˆ๋ฉด ์ฃผ๋ณ€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•œ ํ›„ ๋น™์‚ฐ์ด ๋…น์€ ํ›„์˜ ๊ฐ’์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ , ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ชจ๋‘ ์ฑ„์šด ํ›„ ์ด๊ฑธ ๊ฐ€์ง€๊ณ  ๊ธฐ์กด ๋ฐฐ์—ด์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

⇒ ์–ด์จŒ๋“  ๋น™์‚ฐ์„ ๋…น์ด๋Š” ๊ณผ์ •์—์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋…น์€ ๋น™์‚ฐ ์นธ์ด ์•„์ง ๋…น์ง€ ์•Š์€ ๋น™์‚ฐ ์นธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค!

 

โœ… [์ตœ์ข…]

import java.util.*;
import java.io.*;

public class Main {
    static int[][] board;
    static int[][] zeroCnt;
    static boolean[][] visited;
    static int cnt= 1;
    static int[] dirx = {1,0,-1,0};
    static int[] diry = {0,1,0,-1};
    static int n, m;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        n = Integer.parseInt(st.nextToken());
        m = Integer.parseInt(st.nextToken());
        board = new int[n][m];
        int year = 0;

        for(int i=0; i<n; i++){
            st = new StringTokenizer(br.readLine());
            for(int j=0; j<m; j++){
                board[i][j] = Integer.parseInt(st.nextToken());
            }
        }

        while(cnt>0 && cnt<2){
            // ์ฃผ๋ณ€ 0 ๊ฐœ์ˆ˜ ์นด์šดํŠธ
            zeroCnt = new int[n][m];
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && zeroCnt[i][j]==0){
                        int tempCnt = 0;
                        for(int k=0; k<dirx.length; k++){
                            int nx = i+dirx[k];
                            int ny = j+diry[k];
                            if(nx>=0 && nx<n && ny>=0 && ny<m && board[nx][ny]==0) tempCnt++;
                        }
                        zeroCnt[i][j] = tempCnt;
                    }
                }
            }

            // ๋น™์‚ฐ ๋…น์ด๊ธฐ
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && zeroCnt[i][j]>0){
                        board[i][j]=Math.max(0,board[i][j]-zeroCnt[i][j]);
                    }
                }
            }
            year++;

            // ๋น™์‚ฐ ๊ฐœ์ˆ˜ ์นด์šดํŠธ
            cnt=0;
            visited = new boolean[n][m];
            for(int i=0; i<n; i++){
                for(int j=0; j<m; j++){
                    if(board[i][j]>0 && !visited[i][j]){
                        cnt++;
                        dfs(i,j);
                    }
                }
            }
        }
        System.out.print(cnt==0 ? 0:year);
    }

    static void dfs(int curx, int cury){
        visited[curx][cury]=true;
        for(int i=0; i<dirx.length; i++){
            int nx = curx+dirx[i];
            int ny = cury+diry[i];
            if(nx<0||ny<0||nx>=n||ny>=m) continue;
            if(visited[nx][ny] || board[nx][ny]==0) continue;
            dfs(nx,ny);
        }
    }

}

๐Ÿท ์‹œ๊ฐ„ ๋ณต์žก๋„

  • board์˜ ํฌ๊ธฐ: `N`*`M`
  • ์ฃผ๋ณ€ 0 ๊ฐœ์ˆ˜ ์นด์šดํŠธ: `O(N*M)`
  • ๋น™์‚ฐ ๋…น์ด๊ธฐ: `O(N*M)`
  • ๋น™์‚ฐ ๊ฐœ์ˆ˜ ์นด์šดํŠธ: `O(N*M)`
    • dfs ํ•จ์ˆ˜: ์ตœ๋Œ€ `N`*`M`๋ฒˆ ํ˜ธ์ถœ
  • ์ตœ์ข… ์‹œ๊ฐ„ ๋ณต์žก๋„: `O(NM)`+`O(NM)`+`O(NM)` = `O(NM)`

 

๐Ÿท ์‹คํ–‰ ์†๋„

Time: 484 ms, Memory: 135348 KB

๋ฐ˜์‘ํ˜•

'๐Ÿ’ช Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ/๋ฐฑ์ค€] 2178 ๋ฏธ๋กœ ํƒ์ƒ‰(JAVA)  (1) 2025.02.11
[BOJ/๋ฐฑ์ค€] 1931 ํšŒ์˜์‹ค ๋ฐฐ์ •(JAVA)  (1) 2025.02.10
[BOJ/๋ฐฑ์ค€] 4963. ์„ฌ์˜ ๊ฐœ์ˆ˜ (JAVA)  (1) 2025.02.07
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„ (JAVA)  (1) 2025.02.06
'๐Ÿ’ช Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ/๋ฐฑ์ค€] 2178 ๋ฏธ๋กœ ํƒ์ƒ‰(JAVA)
  • [BOJ/๋ฐฑ์ค€] 1931 ํšŒ์˜์‹ค ๋ฐฐ์ •(JAVA)
  • [BOJ/๋ฐฑ์ค€] 4963. ์„ฌ์˜ ๊ฐœ์ˆ˜ (JAVA)
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„ (JAVA)
dev-heyjin
dev-heyjin
  • dev-heyjin
    ๊ฐœ๋ฐœ ๊ธฐ๋ก
    dev-heyjin
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (56)
      • ๐ŸŽฏ Programming (8)
      • ๐Ÿ’ช Algorithm (16)
      • โš™๏ธ CS (31)
        • ๋„คํŠธ์›Œํฌ (15)
        • ์šด์˜์ฒด์ œ (15)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    DB
    RDS
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    ํ•ดํ‚น
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
dev-heyjin
[BOJ/๋ฐฑ์ค€] 2573 ๋น™์‚ฐ (JAVA)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”