전체 글 473

백준 2122 파이썬

https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net import sys if __name__ == '__main__': N = int(input()) K = int(input()) S = list(map(int, sys.stdin.readline().rstrip().split())) S.sort() distance = [] for i in range(1, N): distance.append(S[i] - S[i-1]) dis..

오랜만에 MBTI

역시나 또 INTP 가 나오는군.. https://www.16personalities.com/ko/%EC%84%B1%EA%B2%A9%EC%9C%A0%ED%98%95-intp 성격유형 : “논리적인 사색가” (INTP) | 16Personalities www.16personalities.com 성격유형 : “논리적인 사색가” 과거에서 배우되, 현재에 살며, 미래에 대한 희망을 가지세요. 그리고 중요한 것은 질문하는 일을 멈추지 않는 것입니다. ALBERT EINSTEIN 사색가형은 전체 인구의 3% 정도를 차지하는 꽤 흔치 않은 성격 유형으로, 이는 그들 자신도 매우 반기는 일입니다. 왜냐하면, 사색가형 사람보다 '평범함'을 거부하는 이들이 또 없기 때문입니다. 이 유형의 사람은 그들이 가진 독창성과 창의..

지식인 2021.10.20

요즘은 무슨 생각을 하고 사는지 기록.

1. 알고리즘을 3달전부터 공부하고 있다. 그리디 -> DFS,BFS -> DP DP 로 넘어와서 고전중.. * 알고리즘을 3달전부터 꾸준히 공부하고 있다라고 썼다가 '꾸준히' 를 지웠다. 3달이나 꾸준히 공부하는데 왜 그것밖에 못하냐는 소리를 들을까 겁나서다.. ㅋㅋ 꾸준히를 빼면 왜 그것밖에 못했냐는 질문에 '쉬엄쉬엄했어' 라고 대답할 수 있으니까.. ㅋㅋㅋ 나도 참.. 2. 글쎄.. 요즘은 좀 막막하다. 작년 말쯤 Andrew.NG교수의 동영상강의와 책을 보면서 인공지능을 두달정도 꾸준히 공부하다가 구인글을 봤는데 인공지능 분야 역시 코딩테스트는 항상 있어서 내 이놈의 지긋지긋한 알고리즘 이번에 아주그냥 뽀사버려야겠다고 생각하고 알고리즘 공부를 시작한거다. 인공지능은 역전파까지는 완벽히 이해하고 C..

일기 2021.04.21

백준 1309 동물원 파이썬

www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net n = int(input()) dp = [0] * (n + 1) dp[0] = 1 dp[1] = 3 for i in range(2, n + 1): dp[i] = (2 * dp[i - 1] + dp[i - 2]) % 9901 print(dp[n]) 이 문제는 일단 풀긴했는데 정확히 왜그런지 이해하지 못한채로 얼떨결에 규칙을 찾아버렸다 우선, 문제에서 동물을 하나도 배치하지 않은 경우도 하나의 경우의 수라 했으니 dp[0] = 1 로 초기화해준다. 그리고 n 이 1로 1*2 의 크기를 갖는 경우, 아무것도 배치 하지 않은 경우, 오른쪽에 배치하는 ..

백준 11055 가장 큰 증가 부분 수열 파이썬

www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net n = int(input()) nums = list(map(int, input().split())) dp = [0] * n dp[0] = nums[0] for i in range(1, n): dp[i] = nums[i] if nums[i] > nums[i - 1]: dp[i] = nums[i - 1] + nums[i] for j in range(i - ..

백준 20191 줄임말 파이썬

www.acmicpc.net/problem/20191 20191번: 줄임말 문자열 A가 문자열 B의 줄임말이라는 것은 B의 순서를 바꾸지 않고 0 또는 그 이상 개수의 문자를 지워 A를 만들 수 있다는 뜻이다. 정의에 의해서 B는 자기 자신의 줄임말임에 유의하라. 예를 들 www.acmicpc.net from bisect import bisect_right, bisect_left if __name__ == '__main__': s = input() t = input() # s = 'caa' # t = 'ac' next = [[] for _ in range(26)] for i in range(len(t)): next[ord(t[i]) - ord('a')].append(i) def solution(ss): ..

백준 16234 인구 이동 파이썬

www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 와.. 이 문제 역대급이였다. 결국 혼자의 힘으로 풀어내긴 했지만 이틀 정도 헤맨것같다. 풀고나서 다른분들 풀이를 보니 내가 왜 이생각을 못했나.. 자괴감들고 괴로워.. ㅠ import sys from collections import deque if __name__ == '__main__': direction = [(0, 1), (1, 0), (0, -1), (-1, 0)] n, left, ri..

백준 1389 케빈 베이컨의 6단계 법칙

www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net import sys from collections import deque if __name__ == '__main__': n, m = map(int, sys.stdin.readline().rstrip().split()) graph = [[] for _ in range(n + 1)] for _ in range(m): a, b = map(int, sys.stdin.r..

백준 11725 트리의 부모 찾기 파이썬

www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net import sys from collections import deque sys.setrecursionlimit(100001) if __name__ == '__main__': n = int(sys.stdin.readline().rstrip()) graph = [[] for _ in range(n + 1)] for i in range(n - 1): a, b = map(int, sys.stdin.readline().split()) graph[a].append(b) graph[b..