본문 바로가기

파이썬9

[백준] 아기상어 [풀이 해설 + 코드 + 시간복잡도를 계산해보자?] 구현 & 시뮬레이션 & BFS https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 코드 import sys from collections import deque input = sys.stdin.readline n = int(input()) arr = [list(map(int, input().split())) for _ in range(n)] dx = [(-1, 0), (1, 0), (0, -1), (0, 1)] sX, sY = 0, 0 fo.. 2023. 8. 5.
[프로그래머스] Lv.2 예상 대진표 구현 & 수학 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(n,a,b): answer = 1 while n > 0: answer += 1 if a % 2 == 0: if a - 1 == b: break else: if a + 1 == b: break a, b = (a // 2) + (a % 2), (b//2) + (b % 2) n //= 2 return answer-1 설명 대진표를 구성하는 문제다. 정확히 말하.. 2023. 8. 3.
[백준] 토마토 [찾지 못한 부분 + 코드 + 해설] 구현 & BFS & 최단경로 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 import sys from collections import deque input = sys.stdin.readline m, n = map(int, input().split()) box = [list(map(int, input().split())) for _ in range(n)] def bfs(first_queue): dx = [(-1, 0),.. 2023. 7. 16.
[프로그래머스] Lv.2 리코쳇 로봇 [풀지 못했던 이유 + 코드 + BFS가 왜 최단 경로를 보장할까] 구현 & BFS & 시뮬레이션 https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def bfs(r, c, n, m, board): visited = [[0] * m for _ in range(n)] visited[r][c] = 1 queue = deque([[r, c]]) answer = -1 while queue: q = queue.popleft() x, y = q[0], q[1] i.. 2023. 7. 14.