96. ㄷㄷㄷㅈ (백준 19535)
알고리즘/문제풀이 2021. 7. 9. 18:07

문제 문제 링크 : https://www.acmicpc.net/problem/19535 19535번: ㄷㄷㄷㅈ 첫 번째 줄에 주어진 트리가 D-트리라면 D, G-트리라면 G, DUDUDUNGA-트리라면 DUDUDUNGA를 출력한다. www.acmicpc.net 문제 어느 날, 트리를 물끄러미 보고 있던 동현이는 엄청난 사실을 하나 발견했다. 바로 정점이 네 개인 트리는 ‘ㄷ’과 ‘ㅈ’의 두 종류밖에 없다는 사실이다! 정점이 네 개 이상 있는 임의의 트리에 대해, 그 트리에서 정점 네 개로 이루어진 집합을 고르자. 전체 트리의 간선들 중 집합에 속한 두 정점을 잇는 간선만을 남겼을 때, 네 개의 정점이 하나의 트리 형태로 이어지게 된다면 ‘ㄷ’ 모양이거나 ‘ㅈ’ 모양일 것이다. 트리에서 ‘ㄷ’의 개수와 ‘..

94. 전화번호 목록 (백준 5052) [JAVA]
알고리즘/문제풀이 2021. 7. 2. 17:52

문제 문제 링크 : https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1초 256MB 23770 7378 4280 29.501% 문제 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. 예를 들어, 전화번호 목록이 아래와 같은 경우..

92. 트리의 지름 (백준 1967) [JAVA]
알고리즘/문제풀이 2021. 6. 24. 18:47

문제 문제 링크 : https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2초 128MB 16625 6505 5005 44.580% 문제 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때..

90. 트리의 높이와 너비 (백준 2250) [JAVA]
알고리즘/문제풀이 2021. 5. 25. 19:32

문제 문제 링크 : https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 시간제한 메모리제한 제출 정답 맞은사람 정답비율 2초 128MB 11992 3325 2266 27.177% 문제 이진트리를 다음의 규칙에 따라 행과 열에 번호가 붙어있는 격자 모양의 틀 속에 그리려고 한다. 이때 다음의 규칙에 따라 그리려고 한다. 이진트리에서 같은 레벨(level)에 있는 노드는 같은 행에 위치한다. 한 열에는 한 노드만 존재한다. 임의의 노드의 왼쪽 부트리(left subtree)에 있는 노드들은 해당 노드보다 왼쪽의 열에 위치하고, ..

길 찾기 게임 (프로그래머스 2020 KAKAO BLIND RECURITMENT)
알고리즘/문제풀이 2021. 1. 25. 00:40

문제 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42892 문제 설명 전무로 승진한 라이언은 기분이 너무 좋아 프렌즈를 이끌고 특별 휴가를 가기로 했다. 내친김에 여행 계획까지 구상하던 라이언은 재미있는 게임을 생각해냈고 역시 전무로 승진할만한 인재라고 스스로에게 감탄했다. 라이언이 구상한(그리고 아마도 라이언만 즐거울만한) 게임은, 카카오 프렌즈를 두 팀으로 나누고, 각 팀이 같은 곳을 다른 순서로 방문하도록 해서 먼저 순회를 마친 팀이 승리하는 것이다. 그냥 지도를 주고 게임을 시작하면 재미가 덜해지므로, 라이언은 방문할 곳의 2차원 좌표 값을 구하고 각 장소를 이진트리의 노드가 되도록 구성한 후, 순회 방법을 힌트로 주어 각 팀이 스스로..

2. 자료구조 (2) - 트리, 그래프
알고리즘/스터디 2020. 7. 25. 01:28

트리 트리 = 노드(node)로 이루어진 자료 구조. 하나의 루트 노드가 존재하고, 이로부터 0개 이상의 자식 노드들이 존재합니다. 이 노드들이 서브트리(subtree)를 구성합니다. 루트와 서브 트리, 각각 노드들간은 간선(edge)로 연결되어 있습니다. 그래프의 한 종류로써 트리는 asyclic connected(undirected) graph, 사이클이 없는 비방향성 그래프입니다. 루트 노드 (Root node) : 부모가 없는 노드 (트리의 처음) 잎 노드 (Leaf node) : 자식이 없는 노드 (트리의 마지막들) 부모 노드(Parent node) , 자식 노드(Child node)의 관계가 있음 노드의 깊이(Depth) : 루트노드(0)으로부터 도달하기 위해 거쳐야 하는 간선의 수 (부모 노..