[그래프] 그래프는 크게 두가지 형태로 그릴 수 있습니다. 위의 예시를 가지고 다뤄보도록 할게요 참고로, 인덱스 0에 해당하는 값들을 헷깔리지 않게 일부로 비운 상태로 더 만들었습니다. 인접행렬 양방향일 때 인접행렬은 늘 대칭입니다. 이를 이용하면 조금 더 쉽게 정리할 수 있을 것 같습니다. graph = [ [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0], # 1행 [0, 1, 0, 0, 1, 1, 0, 0], # 2행 [0, 1, 0, 0, 0, 1, 1, 0], # 3행 [0, 0, 1, 0, 0, 0, 0, 0], # 4행 [0, 0, 1, 1, 0, 0, 1, 1], # 5행 [0, 0, 0, 1, 0, 1, 0, 0], # 6행 [0, 0, 0, 0,..
알고리즘
🥕 [ 이코테 교재 ] 게임 개발 교재 118p 참고한 책 ; 나동빈 (2020). . 서울시: 한빛미디어. 🍒 문제 분석 N * M의 맵이 주어진다. ( 0은 육지, 1은 바다 ) 캐릭터의 위치와 방향 또한 주어진다. ( 맵의 시작은 참고로 (1,1) ) 0 : 북쪽, 1 : 동쪽, 2 : 남쪽, 3 : 서쪽 1. 현재 방향을 기준으로 왼쪽 방향 부터 차례대로 갈 곳을 정한다. 2. 캐릭터의 왼쪽 방향에 가보지 않은 칸이 존재하면, 왼쪽 방향으로 회전 후 한칸 전진하다. 3. 가보지 않은 칸이 없다면, 왼쪽 방향으로 회전만 수행 한 후 1단계로 돌아간다. 4. 4 방향 모두 가본 칸이거나 바다여서 전진이 불가능하다면, 바라보고 있는 방향을 유지한 채로 한 칸 뒤로 가고, 1단계로 돌아간다. 단, 뒤에 ..
[구현] 피지컬 문제라고도 한다. 아이디어를 코드로 바꾸는걸 구현이라고 한다. 이코테 책에서는 완전탐색과 시뮬레이션을 가지고 구현 예제를 들었다. 완전 탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야하는 문제 유형 [파이썬에서 리스트 크기] 데이터의 개수(리스트의 길이) 메모리 사용량 1,000 약 4KB 1,000,000 약 4MB 10,000,000 약 40MB 리스트를 여러개 선언하고, 그 중에서 크기가 1000만 이상인 리스트가 있다면 메모리 용량 제한으로 문제를 풀 수 없게 되는 경우도 있다는 점을 기억하자. [채점 환경] 파이썬의 경우 1초에 2,000만 번의 연산을 수행한다고 가정하면 크게 무리가 없다. 시..
[실습] 숫자 카드 게임 문제 설명 N * M 의 카드가 있다. 뽑고자 하는 카드가 포함된 행을 선택한다. 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑는다. 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. 게임이론에서 본 최소 극대 전략이다. 각 행마다 가장 작은 수를 찾은 뒤 그 중에서 가장 큰 수를 찾으면 되겠다. N,M = map(int,input().split()) mylist = [[] for _ in range(N)] minmax = 0 for i in range(N): mylist[i] = list(map(int,input().split())) if minmax < min(mylist[i]): minmax = min(mylist[i]) print(min..