make a splash
article thumbnail
Published 2020. 11. 15. 10:48
[백준 1913] 달팽이 문제풀이/Java
728x90

문제

 

코드

import java.util.Scanner;
 
public class B1913{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int N = scan.nextInt(); // N*N 배열의 N
        int num = scan.nextInt(); // 위치를 확인할 숫자
        
        int[][] arr = new int[N][N]; // N*N 배열
        int first = 0;
        int last = N - 1;
        int value = N * N;
        int flag = N / 2;
        
        
        while(flag >= 0) {
            for(int i=first; i<=last; i++) {// 아래쪽 방향
                arr[i][first] = value; // 
                value--;
            }
            first++;
            
            for(int j=first; j<=last; j++) {// 오른쪽 방향
                arr[last][j] = value;
                value--;
            }
            
            for(int k=last-1; k>=first-1; k--) {// 위쪽방향
                arr[k][last] = value;
                value--;
            }
            last--;
            
            for(int l=last; l>=first; l--) {// 왼쪽 방향
                arr[first-1][l] = value;
                value--;
            }
            flag--;
        }
        
        // 전체 배열 출력
        for(int i=0; i<N; i++) {
            for(int j=0; j<N; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
        
        // num 찾기
        for(int i=0; i<N; i++) {
            for(int j=0; j<N; j++) {
                if(arr[i][j] == num){
                    System.out.println((i+1) + " " + (j+1));
                }
            }
        }
        
        scan.close();
    }
}
728x90
반응형

'문제풀이 > Java' 카테고리의 다른 글

[백준 2204] 도비의 난독증 테스트  (0) 2020.11.07
[백준 1436] 영화감독 숌  (0) 2020.11.07
[백준 1453] 피씨방 알바  (0) 2020.10.10
[백준 4673] 셀프 넘버  (0) 2020.09.26
[백준 4344] 평균은 넘겠지  (0) 2020.09.26
profile

make a splash

@vision333

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!