본문 바로가기

전체 글

[Python][백준 17086번] 아기상어 2 # https://www.acmicpc.net/problem/17086 # 첫번째 혼자 풀이 ---- ''' 모든 아기 상어를 조사 - 각 아기상어 에서의 거리를 조사하면 되는 것이 아닌가 ?? - 각 아기상어에서 bfs를 매번 새롭게 실시하면 되는 것이 아닌가 ?? ''' import sys import heapq import math from collections import deque sys.stdin = open("input.txt", "rt") sys.setrecursionlimit(1001*1001) # 8 방향 dx = [-1, 1, 0, 0, -1, -1, 1, 1] dy = [0, 0, 1, -1, -1, 1, -1, 1] n, m = map(int, input().split()) # n.. 더보기
[Python][백준 17140번] 이차원배열과 연산 # https://www.acmicpc.net/problem/17140 import sys from collections import defaultdict n = 3 m = 3 a = [[0] * 100 for _ in range(100)] r, c, k = map(int, input().split()) r -= 1 c -= 1 for i in range(n): temp = list(map(int, input().split())) for j in range(m): a[i][j] = temp[j] if a[r][c] == k: print(0) sys.exit(0) for t in range(1, 101): if n >= m: mm = m for i in range(n): d = defaultdict(int.. 더보기
[Python][백준 2688번] 줄어들지 않아 # https://www.acmicpc.net/problem/2688 # dfs 버전 ------------------------------------ import sys import heapq import math import copy from collections import deque, defaultdict sys.stdin = open("input.txt", "rt") sys.setrecursionlimit(100000) def go(L, idx, tmp): global res # brute force로 하게 되면, 10^64 가 되버린다 if L == n: res += 1 ans.append(''.join(map(str, tmp))) return else: for i in range(idx, 1.. 더보기
[Python][백준 9095번] 123더하기 # https://www.acmicpc.net/problem/9095 import sys import heapq import math from collections import deque sys.stdin = open("input.txt", "rt") sys.setrecursionlimit(1001*1001) n = int(input()) m = 3 nums = [1, 2, 3] dp = [0]*11 dp[0] = 1 for i in range(len(dp)): for j in range(m): if i - nums[j] >= 0: dp[i] += dp[i-nums[j]] print("dp", dp) 더보기
[C++][백준 17141번] 연구소 2 # https://www.acmicpc.net/problem/17141 # 최초 풀이 import sys import heapq import math from collections import deque sys.stdin = open("input.txt", "rt") sys.setrecursionlimit(1001*1001) ''' 이번에는 벽이 아니라 바이러스를 놓는 과정을 보여주고 있다 1) dfs 를 통해, 가능한 바이러스의 조합을 만든다 ( 즉, 어디에 바이러스를 놓을 지 선택한다 ) 2) 각각의 조합에 대해서 bfs를 돌린다 단, 기존 bfs 방식이 아니라, queue 방식으로 바이러스를 둔다 그래서 각 단계별로, 시간을 체크해야 한다 3) 모든 bfs가 끝나고 나서, 모든 곳에 0이 있는지 출.. 더보기
[Python][백준 17141번] 연구소 2 # https://www.acmicpc.net/problem/17141 # 최초 풀이 import sys import heapq import math from collections import deque sys.stdin = open("input.txt", "rt") sys.setrecursionlimit(1001*1001) ''' 이번에는 벽이 아니라 바이러스를 놓는 과정을 보여주고 있다 1) dfs 를 통해, 가능한 바이러스의 조합을 만든다 ( 즉, 어디에 바이러스를 놓을 지 선택한다 ) 2) 각각의 조합에 대해서 bfs를 돌린다 단, 기존 bfs 방식이 아니라, queue 방식으로 바이러스를 둔다 그래서 각 단계별로, 시간을 체크해야 한다 3) 모든 bfs가 끝나고 나서, 모든 곳에 0이 있는지 출.. 더보기
힘도 모르면서 강할 수는 없다 < 2021.11. 권력의 원리 > 권력의 원리 권력과 힘.이라는 개념을 체계적으로 설명한 책이다. 권력의 개념, 속성, 획득방법 등을 다룬다. 사람들은 흔히 사회를 정글이라고 묘사한다. 권력.이라는 개념에서 생각하면 , 끊임없이, 더 많은 권력을 갖기 위해 투쟁하는 공간 혹은 적어도, 나 자신을 지키기 위해 노력하는 공간이라고 할 수 있다. 해당 책에서 인상 깊었던 점은 4가지이다 1) 힘의 4가지 균형과, 힘의 균형을 재조정하는 전략 2) 권력이 인간에게 미치는 영향 3) 인간의 욕구와 권력간의 관계 4) 기술과 권력 1) 힘의 4가지 균형과, 힘의 균형을 재조정하는 전략 힘에는 4가지 균형이 있다. 상대방이 원하는 것을 당신이 갖고 있는가 당신이 원하는 것을 상대방이 갖고 있는가 당신은 상대방이 아닌 다른 곳에서 필요한 것을 얻을 수.. 더보기
[Python][백준 2529번] 부등호 # https://www.acmicpc.net/problem/2529 ''' ------------------------------------------------------------------ '브루트 포스' : '순열' 문제 왜 ?? 이미 선택된 수는 '모두 달라야 한다' 라는 조건이 있기 때문이다. 순열이라는 것은, 중복되지 않은 수로, 순서를 섞어서 만들 수 있는 수열을 모두 구하면서 해결 할 수 있다. 이 문제 같은 경우는 k + 1 개의 수가 있고, 0 ~ 9 중에서 k + 1을 고르고 그 중에서, 순서를 고려해야 한다. ( 즉, 기본 순열문제와의 차이점은 보통 순열은 숫자가 주어지고, 섞어라 ! 라는 식의 문제인데, 여기서는, 숫자 자체를 우리가 뽑는 과정도 추가적으로 들어가 있다라는 것이.. 더보기