[파이썬] 백준 2606 : 바이러스 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 실버 3 그래프, BFS, DFS 그래프 이론을 그대로 적용하면 풀 수 있는 문제. 리스트보다 덱을 쓰는게 더 효율적이고 빠르다. BFS 코드[96ms] from collections import deque def bfs(graph, start, visited): global cnt queue = deque([start]) visited[start] = True w..
[파이썬] 백준 17626 : Four Squares https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 실버 4 DP, 브루트포스 접근 DP문제에 대한 자신감을 박살내버리는 문제였다. 다른 사람 풀이를 보고도 좀처럼 이해가 되지 않아 골머리를 앓았다. 문제에 따르면 어떤 수든 간에 최대 4개가지의 제곱수의 합으로 표현이 된다고 해서 1부터 쭉 공책에 써봤다. 1 = 1^2 = 1개 2 = 1^2 * 2 = 2개..
[파이썬] 백준 2630 : 색종이 만들기 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 실버 3 분할정복, 재귀 분할정복에서 가장 기본적인 문제라고 한다. 문제에서 4등분을 범위를 어떻게 잡아야하는지 친절하게 알려주고 있었다. 종이들을 2차원 리스트로 입력받도록 하고, 각각의 값들을 돌면서 모두가 통일된 값을 가지고 있는지 확인해야 한다. 각 사각형의 제일 왼쪽 위를 기준점으로 잡고, 나머지 값들이 기준점의 값과 ..
[파이썬] 백준 11279 : 최대 힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 실버 2 우선순위 큐, 자료구조 최소 힙을 응용해서 푸는 문제. 파이썬의 heapq모듈은 최소 힙을 구현할 수 있도록 만들어져 있기 때문에 최대 힙을 구하려면 약간의 조작이 필요했다. 코드 import heapq, sys; input = sys.stdin.readline N = int(input()) heap = [] for i in ra..
[파이썬] 백준 1927 : 최소 힙 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 실버 2 우선순위 큐, 자료구조 파이썬의 heapq 모듈이 최소 힙 자료구조를 제공하고 있다. 원소들이 항상 정렬된 상태로 추가되고 삭제되며, 가장 작은 값은 언제나 인덱스 0번째에 위치한다. 또한 모든 원소 k는 항상 2k+1, 2k+2번째 인덱스의 원소보다 크기가 작거나 같도록 정렬된다. 코드 import sys; input = sys...
결핍의식, 돈이 없다면 운이 x나 좋은 것이다. 경제적 자유에 이르는 23가지 도구 중 하나 자청의 책 일부 결핍의식 - "당신이 만약 가난하고, 쓰레기 같은 유년시절을 보냈으며, 흙수저라면? 솔직히 말하겠다. 당신은 X나게 운이 좋다. 결핍 의식이라는 축복의 감정을 갖고 있기 때문이다" 당신이 이 책을 읽고 있다면, 아마 금수저가 아닐 확률이 높다. 금수저는 이런 미천한 책을 읽을 필요가 없다. 이미 돈이 많고 물려받을 재산이 많은데 굳이 경제적 자유를 얻는 법에 대한 책을 읽겠는가? 만약 금수저임에도 이 책을 읽고 있다면, 당신은 아마 엄청난 사람이 될 것이다. 아무튼, 당신은 돈에 대한 결핍을 느끼고 있기 때문에 이 책을 읽고 있을거라 생각한다. 결론부터 말하..