본문 바로가기
반응형

컴퓨터공학12

[Python] 백준 17836: 공주님을 구해라! solved.ac기준 Gold 5문제용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 무기로는 마법 벽을 통과할 수 없으며, 마법 벽을 피해 (N, M) 위치에 있는 공주님을 구출해야만 한다.마왕은 용사를 괴롭히기 위해 공주에게 저주를 걸었다. 저주에 걸린 공주는 T시간 이내로 용사를 만나지 못한다면 영원히 돌로 변하게 된다. 공주님을 구출하고 프러포즈 하고 싶은 용사는 반드시 T시간 내에 공주님이 있는 곳에 도달해야 한다. 용사는 한 칸을 이동하는 데 한 시간이 걸린다. 공주님이 있는 곳에 정확히 T시간만에 도달한 경우에도 구출할 수 있다. 용사는 상하좌.. 2024. 7. 19.
[Python] 백준 31946: 죽음의 등굣길 solved.ac기준 Silver 1문제입력출력지훈이가 살아서 등교에 성공할 수 있으면 ALIVE, 그렇지 않으면 DEAD를 출력한다.예제 입력 1230 0 00 0 01예제 출력 1ALIVE예제 입력 2220 00 15예제 출력 2DEAD 정답 코드from collections import dequeN = int(input())M = int(input())arr = [list(map(int, input().split())) for _ in range(N)]X = int(input())visited = [[False] * M for _ in range(N)]q = deque()q.append((0, 0))visited[0][0] = Trueresult = "DEAD"color = arr[0][0]whil.. 2024. 7. 18.
4-2. 이진 탐색 트리 (Binary Search Tree) 이진 탐색 트리란? 이진 트리에 삽입, 삭제 규칙을 가미하여 탐색에 용이하도록 구성된 트리이다.  이진 탐색 트리의 규칙 이진 트리는 다음과 같은 규칙을 가지고 있다.  1. 모든 노드의 값은 유일하다. 2. 오른쪽 자식 노드의 값이 왼쪽 자식 노드보다 항상 크다. 이진 탐색 트리의 연산 각 예시 코드에 쓰이는 트리 노드의 구조체는 이전 공부 기록을 참조. 2024.07.07 - [전산/자료구조] - 4-1. 이진 트리 (Binary Tree)  삽입// 새로운 노드를 삽입하는 함수struct Node* insert(struct Node* node, int key) { // 트리가 비어있으면 새 노드를 반환 if (node == NULL) { return newNode(key); .. 2024. 7. 9.
4-1. 이진 트리 (Binary Tree) 이진 트리란? 트리의 차수가 2인 트리. 트리를 구성하는 노드들의 자식은 최대 2개이다. 하나의 부모 노드에는 왼쪽, 오른쪽 자식이 존재하는 형태이다. 이진 트리의 형태 1. 정 이진 트리 (Full Binary Tree) 모든 노드의 차수가 2 혹은 0인 경우이다. 만약 자식이 하나만 존재하는 노드가 있다면, 정 이진 트리라고 할 수 없다. 위 같은 경우 차수가 1인 노드가 존재하지 않고, 리프 노드를 제외한 노드들의 자식은 모두 2개 이므로 정 이진 트리이다.  2. 포화 이진 트리 (Perfect Binary Tree)  정 이진 트리의 조건에 더하여 모든 리프 노드의 레벨이 같아야 한다. 우리가 생각하는 예쁘게 꽉 찬 트리의 모습이 포화 이진 트리이다.  3. 완전 이진 트리 (Complete B.. 2024. 7. 7.
4. 트리 (Tree) 트리란?  노드 간에 부모 - 자식 관계를 가지는 방향성이 있는 그래프. 한 부모 노드가 여러 개의 자식 노드를 가질 수 있기 때문에 비 선형 자료 구조이다. 항상 부모가 없는 가장 상위의 루트(root)노드로 부터 시작해 뻗어나가는 모양이 나무와 닮아 tree라는 이름이 붙었다. 트리의 용어 트리에는 사용의 편리함을 위해 사용하는 개념과 용어들이 있다.  아래 트리의 예시를 기준으로 설명하겠다.   1. 루트 노드 (root) : 부모가 없는 가장 최상위 노드. 위 트리에서는 가장 상단의 1번 노드이다. 2. 부모 노드 (parent) : 한 노드와 연결된 상위 노드. 예를 들어 2번 노드의 부모는 1번 노드이고, 6번 노드의 부모는 3번 노드이다. 3. 자식 노드 (child) : 한 노드와 연결된 .. 2024. 7. 6.
[Python] 백준 1182: 부분수열의 합 solved.ac기준 Silver 2 요즘 들어 슬럼프가 오는 기분. 간단한 문제도 잘 읽히지가 않는 현상이 와 천천히 풀고 있다. 이번 문제도 처음에 접근법을 헷갈려 한참 해메다가 풀었다.  문제N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다.출력첫째 줄에 합이 S가 되는 부분수열의 개수를 출력한다.예제 입력 15 0-7 -3 -2 5 8예제 출력 11정답 코드N, S =.. 2024. 7. 5.
반응형