[백준] 1913번 : 달팽이 - C#

강재원·2022년 10월 29일
0

[코딩테스트] C#

목록 보기
164/200



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

using System;
using System.Text;
using System.IO;

class Program
{
    static void Main() {
        StringBuilder sb = new StringBuilder();
        string s=Console.ReadLine();
        int n=int.Parse(s);
        string s1=Console.ReadLine();
        int m=int.Parse(s1);
        int num=n*n;
        int t=0;
        int r=n;
        int[,] arr=new int[n,n];
        int x=0,y=0;
        while(num>0){
            x=t;
            y=t;
            for(int i=y;i<r;i++){
                arr[i,x]=num--;
            }
            y=r-1;
            for(int i=x+1;i<r;i++){
                arr[y,i]=num--;
            }
            x=r-1;
            for(int i=y-1;i>=t;i--){
                arr[i,x]=num--;
            }
            y=t;
            for(int i=x-1;i>t;i--){
                arr[y,i]=num--;
            }
            t++;
            r--;
        }
        int q=0;
        int w=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(arr[i,j]==m){
                    q=i+1;
                    w=j+1;
                }
                sb.Append(arr[i,j]+" ");
            }
            sb.Append("\n");
        }
        sb.Append(q+" "+w);
        Console.Write(sb.ToString());
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글