Algorithm/Baekjoon

[Algorithm/Baekjoon] ์ฟ ํ‚ค์˜ ์‹ ์ฒด ์ธก์ • - 20125 (S4/JAVA)

dpdms2148 2023. 7. 7. 18:24
728x90

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

20125๋ฒˆ: ์ฟ ํ‚ค์˜ ์‹ ์ฒด ์ธก์ •

๐Ÿ’ป์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.StringBuilder;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // 5 ≤ n ≤ 1000
        int n = Integer.parseInt(br.readLine());
        boolean[][] cookie = new boolean[n][n];

        for(int i = 0; i < n; i++){
            String subcookie = br.readLine();
            for(int j = 0; j < n; j++){
                if(subcookie.charAt(j) == '*'){
                    cookie[i][j] = true;
                }else{
                    cookie[i][j] = false;
                }
            }
        }

        // ์‹ฌ์žฅ ์œ„์น˜ ์ฐพ๊ธฐ
        int x = 0;
        int y = 0;
        for(int i = 1; i < n - 1; i++){
            for(int j = 1; j < n - 1; j++){
                if(cookie[i][j]&&cookie[i-1][j]&&cookie[i+1][j]&&cookie[i][j-1]&&cookie[i][j+1]){
                    x = i;
                    y = j;
                    sb.append(x+1).append(" ").append(y+1).append("\n");
                    break;
                }
            }
        }

        // ์‹ ์ฒด ๊ธธ์ด ๊ตฌํ•˜๊ธฐ
        int len = 0;
        // ์™ผ์ชฝ ํŒ”
        for(int i = y - 1; i >= 0; i--){
            if(cookie[x][i]) len++;
            else break;
        }
        sb.append(len+" ");
        // ์˜ค๋ฅธ์ชฝ ํŒ”
        len = 0;
        for(int i = y + 1; i < n; i++){
            if(cookie[x][i]) len++;
            else break;
        }
        sb.append(len+" ");
        // ํ—ˆ๋ฆฌ
        len = 0;
        for(int i = x + 1; i < n; i++){
            if(cookie[i][y]) len++;
            else break;
        }
        sb.append(len+" ");
        x += len + 1;
        len = 0;
        // ์™ผ์ชฝ ๋‹ค๋ฆฌ
        for(int i = x; i < n; i++){
            if(cookie[i][y-1]) len++;
            else break;
        }
        sb.append(len+" ");
        // ์˜ค๋ฅธ์ชฝ ๋‹ค๋ฆฌ
        len = 0;
        for(int i = x; i < n; i++){
            if(cookie[i][y+1]) len++;
            else break;
        }
        sb.append(len+" ");

        System.out.println(sb);
    }
}

โณํšŒ๊ณ 

  • ํ—ˆ๋ฆฌ ๊ธธ์ด ๊ตฌํ•œ ๊ฐ’์„ ๊ฒฐ๊ณผ์— ์ €์žฅํ•˜์ง€ ์•Š์•„ ํ‹€๋ฆฐ ๊ณณ์„ ์ฐพ๋А๋ผ ์‹œ๊ฐ„์„ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋‹ค.
  • ๊ทธ๋ž˜๋„ IDE ์—†์ด ๋””๋ฒ„๊น… ์—†์ด ์ฝ”๋”ฉํ•˜๋‹ค ๋ณด๋‹ˆ ํ‰์†Œ๋ณด๋‹ค ๋” ๊ผผ๊ผผํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
728x90