[그래프] 그래프는 크게 두가지 형태로 그릴 수 있습니다. 위의 예시를 가지고 다뤄보도록 할게요 참고로, 인덱스 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,..
알고리즘
🥕 [ 백준 2504 ] 괄호의 값 문제 링크 url : https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 🍒 문제 분석 ( ) 는 2, [ ] 는 3 이다. 서로 병렬 관계일 때는 +, 겹쳐있을 때는 * 연산을 한다. 가령 ' ( ( ) [ [ ] ] ) ( [ ] ) ' 가 있으면, 2 * (2 + 3*3) + 2*3 으로 나타낼 수 있다. 🥑 코드 import sys print = sys.stdout.write input = sys.std..
[구현] 피지컬 문제라고도 한다. 아이디어를 코드로 바꾸는걸 구현이라고 한다. 이코테 책에서는 완전탐색과 시뮬레이션을 가지고 구현 예제를 들었다. 완전 탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야하는 문제 유형 [파이썬에서 리스트 크기] 데이터의 개수(리스트의 길이) 메모리 사용량 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..