[SWEA|파이썬] 16800. 구구단 걷기 (D3)

2023. 4. 26. 16:30·Problem Solving/SWEA
반응형
문제

https://tinyurl.com/22e4lrzs

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

🐍파이썬
더보기

❌ MemoryError 실패 코드

from collections import deque
T = int(input())
for test_case in range(1, T + 1):
    dx = [0, 1]
    dy = [1, 0]
    n = int(input())
    flag = 0
    grid = [[0]*(n+1) for _ in range(n+1)]
    queue = deque()
    queue.append((1, 1))
    while queue:
        x, y = queue.popleft()
        for i in range(2):
            nx = x + dx[i]
            ny = y + dy[i]
            if nx >= n+1 or ny >= n+1 or nx < 0 or ny < 0:
                continue
            if grid[nx][ny] != 0:
                continue
            grid[nx][ny] = grid[x][y] + 1
            queue.append((nx, ny))
            if nx * ny == n:
                flag = 1
                print(grid[nx][ny])
                break
        if flag == 1:
            break

최소이동거리라는 말만 보고 BFS로 풀었더니 테스트케이스 #3 10000000019 에서 메모리 오류가 발생했다.

import math
T = int(input())
for test_case in range(1, T + 1):
    n = int(input())
    arr = []
    for i in range(1, int(math.sqrt(n))+1):
        if n % i == 0:	#곱해서 n이 되는 두 수 찾기
            arr.append((i, n//i))
    for i, (x, y) in enumerate(arr):	#index, (x, y)
        arr[i] = (x-1)+(y-1)	#배열의 각 인덱스에 (1, 1)->(x, y)까지 이동거리 저장
    print("#{} {}".format(test_case, min(arr)))	#최소값(최소거리) 출력

1️⃣ 곱해서 n이 되는 두 수를 찾아 배열에 넣는다.

2️⃣ (1,1)과 가장 가까운 위치의 두 수(x, y)를 찾아 이동거리를 출력한다. 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA|파이썬] 2805. 농작물 수확하기 (D3)  (0) 2023.05.08
[SWEA|파이썬] 2806. N-Queen (D3)  (1) 2023.05.07
[SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3)  (0) 2023.05.07
[SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3)  (0) 2023.05.07
[SWEA|파이썬] 1206. [S/W 문제해결 기본] 1일차 - View (D3)  (0) 2023.05.06
[SWEA|파이썬] 5215. 햄버거 다이어트 (D3)  (0) 2023.04.27
'Problem Solving/SWEA' 카테고리의 다른 글
  • [SWEA|파이썬] 1208. [S/W 문제해결 기본] 1일차 - Flatten (D3)
  • [SWEA|파이썬] 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (D3)
  • [SWEA|파이썬] 1206. [S/W 문제해결 기본] 1일차 - View (D3)
  • [SWEA|파이썬] 5215. 햄버거 다이어트 (D3)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    bfs
    플러터
    공식문서
    SWEA
    Jiraynor Programming
    타입스크립트
    강의내용정리
    Next.js
    뉴렉처
    프로그래머스
    백준
    d3
    클론 프로젝트
    구현
    ZeroCho
    컴퓨터네트워크
    프로젝트
    AWS
    자바
    블로그 제작
    자바스크립트
    알고리즘
    spring boot
    웹사이트
    React
    포트폴리오
    파이썬
    리액트
    Til
    mysql
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[SWEA|파이썬] 16800. 구구단 걷기 (D3)
상단으로

티스토리툴바