분류 전체보기
-
[BOJ] 11729번Algorithm/Baekjoon Online Judge 2022. 3. 20. 15:47
https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 하노이 탑 알고리즘 위와 같이 하노이 탑을 시작 장대에서 목적 장대까지 이동시키위해 원판을 움직이는 방식에 대한 알고리즘이다. 이때 한번에 한 개의 원판만을 옮길 수 있고 쌓아져 있는 원판은 항상 위의 원판이 아래 것보다 작아야한다. 원판이 1개라면, 1번 장대에서 3번 장대로 1번 원판을 움직인다. 1->3 원판이 2개라면, 1번 장대에서 2번 장대로 1번 원판을 움직인다. 1->2..
-
[BOJ] 1002번Algorithm/Baekjoon Online Judge 2022. 3. 16. 17:29
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net Python3 import math if __name__ == '__main__': n = int(input()) for _ in range(n): x1, y1, r1, x2, y2, r2 = map(int, input().split()) distance = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) if distance == 0 and r1 == r2: print(-1) elif abs(r1 - r2) == dis..
-
[BOJ] 3053번Algorithm/Baekjoon Online Judge 2022. 3. 16. 16:42
https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net Python3 import math if __name__ == '__main__': r = int(input()) print(r*r*math.pi) print(r*r*2) 유클리드 기하학에서 원의 넓이는 pi*r**2 이고 택시 기하학에서 원의 넓이는 r*r*2이다. 따라서 이를 공식을 사용하여 코드를 작성한다. pi 값의 경우 math 라이브러리를 사용했다.
-
[BOJ] 4153번Algorithm/Baekjoon Online Judge 2022. 3. 16. 15:18
https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net Python3 if __name__ == '__main__': while True: side = list(map(int, input().split())) if sum(side) == 0: break side.sort() if side[0]**2 + side[1]**2 == side[2]**2: print("right") else: print("wrong") 문제에는 쓰여져 있지 않지만 피타고라스의 정리를 이용한 문..
-
[Jupyterhub for Kubernetes-1] MicroK8s를 통한 Bare Metal Host상의 kubernetes 설치 및 helm 설치Backend/Kubernetes 2022. 3. 16. 01:38
kubernetes 위에서 jupyter hub를 실행시켜보기 위해 kubernetes set up을 시작했다. OS환경은 VMware 가상머신에서 우분투 환경이다. kubernetes를 Google Cloud나 Azure, AWS 등의 public cloud 위에서 설치하는 방법도 존재하지만 내가 하려는 것은 private cloud상의 kubernetes 설치임으로 다음의 document를 참고했다. https://zero-to-jupyterhub.readthedocs.io/en/latest/kubernetes/other-infrastructure/step-zero-microk8s.html Kubernetes on a Bare Metal Host with MicroK8s — Zero to Jupyte..
-
[BOJ] 3009번Algorithm/Baekjoon Online Judge 2022. 3. 15. 12:13
https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net Python3 code1 if __name__ == '__main__': points = [] for _ in range(3): x, y = map(int, input().split()) points.append((x, y)) for x, y in points: for x1, y1 in points: if (x, y1) not in points: print(x, y1) break 세점이 주어졌을 때 한점을 찾기 위해서는 주어진 x, y 좌표 값에 대해서 없는 x 좌표 값, y ..
-
[2021 하계 모각코] 6차시모여서 각자 코딩/2021 하계 모각코 2022. 3. 15. 01:08
깊이 우선 탐색 루트 노드에서 시작해서 해당노드의 자식노드를 먼저 탐색하는 방법이다. 한방향으로 갈 수 있을 때까지 계속 가다가 더이상 갈 수 없게되면 가장 가까운 갈림길로 돌아와서 이곳으로 부터 다른 방향으로 다시 탐색을 진행한다. 즉 넓게 탐색하기 전에 깊게 탐색하는 것이다. 모든 노드를 탐색하는 경우 사용하며 깊이 우선 탐색이 너비 우선 탐색보다 좀 더 간단하다. 단순 검색 속도는 너비 우선 탐색이 더 빠르다. 구현 방법 스택을 사용하여 방문한 노드를 담고 최근 방문한 노드를 pop하여 해당 노드의 자식노드를 스택에 담는다. 이 과정을 반복하며 깊이 우선 탐색을 진행한다. 시간 복잡도 - DFS는 그래프(정점의 수 : N, 간선의 수: E)의 모든 간선을 조회함 * 인접 리스트..
-
[2021 하계 모각코] 5차시모여서 각자 코딩/2021 하계 모각코 2022. 3. 15. 01:07
너비 우선 탐색 알고리즘 그래프 탐색 시 탐색 방법 중 하나이다. 그래프 탐색은 하나의 정점에서 시작하여 차례대로 모든 정점들을 한번씩 방문하는 것이다. 루트노드 또는 임의의 노드에서 시작하여 인접한 노드를 먼저 탐색하는 방법으로 탐색 시에 너비를 우선으로 하는 알고리즘이다. 즉 시작 노드에서 가까운 노드를 먼저 방문하고 멀리 떨어져있는 노드를 나중에 방문하는 순회 방법이다. 너비우선탐색은 최단 경로를 찾거나 임의의 경로를 찾고자 할 때 사용한다. 노드에 대한 방문 여부를 검사해야하기 때문에 큐 자료구조를 사용하여 방문한 노드들을 저장하고 꺼낼 수 있도록 한다. 큐는 선입선출로서 방문한 노드를 삽입하고 선출 노드의 인접노드를 삽입함으로써 사용한다. 재귀적으로 동작하지 않기 때문에 반복문을 사용하여..