[SWEA][D2] 1954. 달팽이 숫자 Java

2025. 6. 3. 04:12·알고리즘 문제풀이
반응형
import java.util.Scanner;  
  
public class snailQuiz {  
    public static void main(String[] args) {  
  
  
        Scanner sc = new Scanner(System.in);  
        int T;  
        T=sc.nextInt();  
  
  
  
        for(int test_case = 1; test_case <= T; test_case++)  
        {  
            int N = sc.nextInt();  
            int[][] snailArray = new int[N][N];  
  
            int[] dx = { 0, 1, 0, -1 };  
            int[] dy = { 1, 0, -1, 0 };  //우,하,좌,상  
            int d = 0; // 회전인덱스  
  
  
  
            // 좌표  
            int xIndex = 0;  
            int yIndex = 0;  
  
  
            for (int i = 1; i <= N*N ; i++) {  
                snailArray[xIndex][yIndex] = i;  
                int nx = xIndex + dx[d];  
                int ny = yIndex + dy[d];  
  
                if (nx < 0 || nx >= N || ny < 0 || ny >= N || snailArray[nx][ny] != 0){  
                    d = (d + 1) % 4;  //방향바꿈  
                    nx = xIndex + dx[d];  
                    ny = yIndex + dy[d];  
                }  
                xIndex = nx;  
                yIndex = ny;  
            }  
  
            System.out.printf("#%d\n",test_case);  
            for (int r = 0; r < N; r++) {  
                for (int c = 0; c < N; c++)  
                    System.out.print(snailArray[r][c] + " ");  
                System.out.println();  
            }  
        }  
    }  
}

방향에 대한 방향성을 조금더 잘 생각해야되는 부분이었다.
1. 반복되는 구조 확인하기
2. 배열일 경우 배열의 dx dy로 방향으로 하여 문제푸는 방법 찾기

반응형

'알고리즘 문제풀이' 카테고리의 다른 글

[SWEA][D2] 1946. 간단한 압축 풀기 Java  (0) 2025.06.03
[SWEA][D2] 1948. 날짜 계산기 Java  (0) 2025.06.03
[SWEA][D2] 1959. 두 개의 숫자열 Java  (0) 2025.06.03
[SWEA][D2] 1989. 초심자의 회문 검사 Java  (0) 2025.06.02
[SWEA][D2] 1961. 숫자 배열 회전 Java  (0) 2025.06.02
'알고리즘 문제풀이' 카테고리의 다른 글
  • [SWEA][D2] 1946. 간단한 압축 풀기 Java
  • [SWEA][D2] 1948. 날짜 계산기 Java
  • [SWEA][D2] 1959. 두 개의 숫자열 Java
  • [SWEA][D2] 1989. 초심자의 회문 검사 Java
WHITE_FROST
WHITE_FROST
개발공부리뷰블로그
    반응형
  • WHITE_FROST
    하얀하얀IT
    WHITE_FROST
  • 전체
    오늘
    어제
    • 분류 전체보기 (119)
      • Stack (43)
        • Next.js (7)
        • React (12)
        • React-Native (15)
        • TypeScript (0)
        • Python (2)
        • JavaScript (2)
        • Android (1)
        • DB (2)
        • JAVA (1)
      • Obsidian (1)
      • AI (3)
      • AI Tools (0)
      • Tools (0)
      • Mac (0)
      • Error (7)
      • 알고리즘 정리 (6)
      • 알고리즘 문제풀이 (46)
      • 공부일상 (4)
      • 개발 도구 & 라이브러리 (0)
      • 정보처리기사 (0)
      • 기타 (6)
      • Tip (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SWEA
    hooks
    Next.js
    코테준비
    mongodb cloud
    reactnative
    mongoDB Atlas
    알고리즘
    ReactHook
    react
    boj
    오블완
    티스토리챌린지
    프로그래머스
    d1
    백준
    react-native-maps
    리액트네이티브
    React-Native cli
    react-native
    코테
    error
    코딩테스트
    Expo
    javascript
    java
    ios
    D2
    React Hooks
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
WHITE_FROST
[SWEA][D2] 1954. 달팽이 숫자 Java
상단으로

티스토리툴바