[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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바