전체 글 85

[BOJ][Python] 감시 2468

목차 🫡 Overview체감 난이도: ★★★★☆소요시간: 문제 레벨: 골드3 / 문제 유형: 백트래킹, 시뮬레이션풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단복습/ 완벽 이해 문제 링크https://www.acmicpc.net/problem/15683문제 풀이N개의 카메라가 갈 수 있는 모든 경우의 수를 탐색하여, 최소 사각지대 영역을 찾아야 하는 문제이다. [1] 경우의 수 탐색 이 경우의 수를 어떻게 탐색해야할지 몰랐다. 답변을 참고하여 보니, 백트래킹을 활용하면 된다. DFS로 순열을 탐색하는 코드와 매우 유사하다. 각 카메라를 트리의 각 레벨이라고 생각한다.각 레벨의 노드들은 현재 레벨의 카메라가 갈 수 있는 방향들이다. 예제 2) 의 경우 오른쪽 트리와 같이 표현..

카테고리 없음 2026.03.24

[Python] [DFS] 순열 조합

순열 : 원소가 중복되지 않되, 각 순서가 중요하다. e.g. [1,2,3] -> 길이가 2인 순열은 총 3x2로 6개 [1,2], [1,3], [2,1], [2,3], [3,1], [3,2] 실제 트리 구조로 봤을 때는 루트 ~ 리프노드까지 내려가는 경로에서, 레벨 L 이전에 방문하지 않은 숫자만 방문하면 된다. 따라서, visited 원소가 꼭 필요하고, 백트래킹이 필요. # 순열 : 원소만 중복 안되게 순서가 중요하다!# 핵심 알고리즘: 값의 리스트 L에서 방문하지 않은 숫자를 재귀적으로 탐색하면 된다.N = 4 # 리스트 길이M = 3 # 순열 길이L = [1,2,3,4] # 가지고 있는 리스트visited = [False]*4all_permutation = []def DFS(result):..

카테고리 없음 2026.03.21

[Python][BOJ] 14499_주사위 굴리기

목차🫡 Overview체감 난이도: ★★★★☆소요시간: 문제 레벨: 골드4 / 문제 유형: 단순 구현풀이 상태: 답안참고 / 스스로 해결추후: 다시 풀어보기 / 간단복습 / 완벽 이해 문제 링크https://www.acmicpc.net/problem/14499 나의 코드def out_of_range(x,y): if x=N or y=M: return True return Falsemovements = [0, (0, 1),(0,-1),(-1,0),(+1,0)] # 동서북def roll_dice(dice:list, o:int): from copy import deepcopy new_dice = deepcopy(dice) if o == 1 : # 동쪽, 서남 ..

카테고리 없음 2026.03.20

[Python][2468] 안전 영역

https://www.acmicpc.net/problem/2468 '''목표: 지역들의 높이들이 주어질 때 , 안전 영역 최대 몇 개 인가?- 잠기는 기준: H 이하 모든 지점- amount = min , ...., max-1 까지 높이가 달라질 때입력 - N: 격자 크기 (2=N or ny=N: continue if visited[nx][ny] > h: queue.append((nx,ny)) visited[nx][ny] = 0if __name__ == '__main__': N = int(input().strip()) m = [list(map(int, input().split())) for ..