[SWEA] 1954. 달팽이 숫자

2024. 5. 17. 02:11·Study/Algorithm
728x90

문제

  • 1차 접근 방법
  • 정답 여부

1차 접근 방법

방향을 잘 조절해서 2차원 배열 안에 1 ~ (N * N + 1)을 넣어주자.

T = int(input())
for test_case in range(1, T + 1):
    N = int(input())
    print(f'#{test_case}')

    answer = [[0] * N for _ in range(N)]

    directions = [(0, 1), (1, 0), (0, -1), (-1, 0)]
    direction_index = 0

    x, y = 0, 0  # 시작 위치
    for i in range(1, N * N + 1):
        answer[x][y] = i  
        next_x, next_y = x + directions[direction_index][0], y + directions[direction_index][1]

        if not (0 <= next_x < N and 0 <= next_y < N and answer[next_x][next_y] == 0): # 방문했거나 0 ~ N-1 범위 넘어갔을 경우에 방향 전환
            direction_index = (direction_index + 1) % 4 
            next_x, next_y = x + directions[direction_index][0], y + directions[direction_index][1]

        x, y = next_x, next_y

    for row in answer:
        print(' '.join(map(str, row)))

정답 여부

  • 정답!
  • direction_index = (direction_index + 1) % 4 이 부분이 헷갈려서 헤맸다...
728x90
반응형
저작자표시 (새창열림)

'Study > Algorithm' 카테고리의 다른 글

[백준 11660] 구간 합 구하기 5  (2) 2024.08.21
[baekjoon] 세탁소 사장 동혁(2720)  (0) 2024.05.31
[SWEA] 5658. [모의 SW 역량테스트] 보물상자 비밀번호  (1) 2024.05.18
[SWEA] 2001. 파리퇴치  (0) 2024.05.18
[SWEA]1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (python)  (0) 2024.05.17
'Study/Algorithm' 카테고리의 다른 글
  • [baekjoon] 세탁소 사장 동혁(2720)
  • [SWEA] 5658. [모의 SW 역량테스트] 보물상자 비밀번호
  • [SWEA] 2001. 파리퇴치
  • [SWEA]1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (python)
pink_salt
pink_salt
유익함을 주는 개발자가 되도록 keep going
  • pink_salt
    KeepGoingForever
    pink_salt
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • Project (7)
      • WEB study (3)
        • WEB(Springboot) (10)
        • Git, GitLab (13)
        • Clean code (1)
        • FrontEnd (3)
      • Study (21)
        • Algorithm (19)
        • 면접 준비 (2)
      • Cloud Computing (2)
        • AWS (2)
      • 프로그래밍 언어 (35)
        • Java (29)
        • Python (0)
        • javascript (6)
      • 운영체제 (0)
        • Linux (0)
      • Database (4)
        • MongoDB (8)
        • SQL (8)
      • 애플리케이션 개발 (1)
        • Android (1)
      • AI (1)
        • Deeplearning (1)
        • machinelearning (0)
      • Daily (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MongoDB
    대외활동
    무료IT교육
    티스토리챌린지
    git branch
    Git
    빅오표기법
    SWEA
    Java
    python
    코딩이러닝
    개념
    자바
    백준
    Database
    spring boot
    BFS
    codepresso
    Query
    mysql
    코드프레소
    gitlab
    오블완
    객체지향
    dp
    무료코딩교육
    IT교육
    언어
    SW
    코딩강의
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
pink_salt
[SWEA] 1954. 달팽이 숫자
상단으로

티스토리툴바