본문 바로가기

전체 글411

[자료구조] 트리 (Tree) 목차 트리(Tree)의 개념 트리는 노드와 간선으로 이루어진 계층적 관계를 표현하는 자료구조로 스택이나 큐와 같은 선형 구조가 아닌 비선형 자료구조이다. 트리는 다음과 같은 특징들이 있다. 1. 트리는 하나의 루트 노드를 갖는다. 2. 루트 노드는 0개 이상의 자식 노드를 갖는다. 3. 자식 노드 또한 0개 이상의 자식 노드를 갖는다. 4. 트리는 노드(Node)들과 노드들을 연결하는 간선(Edge)들로 구성되어 있다. 5. N개의 노드를 갖는 트리는 항상 N - 1개의 간선을 갖는다. 6. 모든 자식 노드는 한 개의 부모 노드만을 갖는다. 7. 모든 노드는 서로 연결되어 있다. 8. 임의의 노드에서 다른 노드로 가는 경로(path)는 단 1개만 존재한다 추가로, 트리에는 사이클(Cycle)이 존재할 수.. 2022. 8. 3.
[백준] 2167번 : 2차원 배열의 합 – JAVA [자바] https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 문제 문제 풀이 백준 2167번 2차원 배열의 합은 브론즈 1 난이도의 구현 문제이다. 이 문제는 배열이 주어지고 (i, j)와 (x, y)가 같이 주어졌을 때 (i, j)부터 (x, y)까지의 합을 구하면 된다. 이 문제는 간단하지만 코드는 좀 길다. 그 이유는 입력으로 주어지는 것도 길고 배열도 초기화하고 각 테스트 케이스마다 i, j, x, y까지 입력받아야 하기.. 2022. 8. 2.
[백준] 3003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 – JAVA [자바] https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 문제 문제 풀이 백준 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰은 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제에서는 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어지고 몇 개의 피스가 더 필요한지 구하면 된다. 우선 예를 한번 보겠다. 원래의 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수는 각각 1, 1, 2, 2, 2, 8개이다. EX 1) 0 1 2 2 2 7 이 예시에서는 킹이 0개, 퀸이 1개, 룩이 .. 2022. 8. 2.
[백준] 1271번 : 엄청난 부자2 – JAVA [자바] https://www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net 문제 문제 풀이 백준 1271번 엄청난 부자2는 브론즈 5 난이도의 수학 문제이다. 이 문제에서는 큰 숫자 n과 m이 입력으로 주이진다. 그리고 n과 m을 나눈 값과 그 나머지를 출력해주기만 하면 되는 간단한 문제이다. 하지만 이 문제는 난이도의 비해 정답율이 33% 정도로 매우 낮은 것을 확인할 수 있다. 이 이유는 이 문제는 큰 정수, 즉, int형이나 long형의 범위를 초과하는 숫자가 입력으로 주어지기 때문이다. 이 경우 BigI.. 2022. 8. 2.
[백준] 10991번 : 별 찍기 - 16 – JAVA [자바] https://www.acmicpc.net/problem/10991 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 문제 문제 풀이 백준 10991번 별 찍기 - 16은 브론즈 3 난이도의 구현 문제이다. 이 문제는 별 찍기 문제이다. 이런 유형의 문제들은 패턴을 찾는 게 중요하다. 예를 보면서 패턴을 찾아보겠다. * * * * * * * * * * 이런 유형의 별 패턴이다. 우선, 맨 윗줄 가운데에 *이 있다. 그리고 윗줄에 *이 있으면 아랫줄 왼쪽과 오른쪽도 *이 위치한다. 따라서 이 문제는 2차원 배열을 이용해서 풀었다. 우선 char형 배열 arr을 [n][2n - 1]의 크기로 선언해준다. 그리고 첫 줄 가운데에 *이 위치하므로, .. 2022. 8. 1.
[백준] 2953번 : 나는 요리사다 – JAVA [자바] https://www.acmicpc.net/problem/2953 2953번: 나는 요리사다 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5 www.acmicpc.net 문제 문제 풀이 백준 2953번 나는 요리사다는 브론즈 3 난이도의 수학 및 구현 문제이다. 이 문제에서는 5명의 참가자가 있고 각 참가자마다 4개의 점수가 있다. 이때 가장 높은 점수를 받은 참가자의 순서(번호)와 우승자의 총점수를 출력하면 된다. 우선 int형 변수 winner와 total을 선언한다. winner는 우승자고 total은 우승자의 총점수라고 정의하겠다. 이 문제에서는 5명의 참.. 2022. 8. 1.
[백준] 5339번 : 콜센터 – JAVA [자바] https://www.acmicpc.net/problem/5339 5339번: 콜센터 스타워즈에 등장하는 로봇인 C3PO는 요즘 콜센터에 근무하고 있다. 콜센터에 앉아있는 C3PO를 그리는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 백준 5339번 콜센터는 브론즈 5 난이도의 구현 문제이다. 이 문제는 PLU High School Programming Contest 2013에 Novice 3번으로 나왔다. 이 문제도 간단하다. 입력으로 주어지는 것은 없기 때문에 출력에 있는 내용을 복사해서 그대로 출력해주면 된다. 자세한 코드는 밑에 있다. 코드 import java.io.*; import java.util.*; public class Main { public static voi.. 2022. 8. 1.
[백준] 5337번 : 웰컴 – JAVA [자바] https://www.acmicpc.net/problem/5337 5337번: 웰컴 Welcome을 예제 출력처럼 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 백준 5337번 웰컴은 브론즈 5 난이도의 구현 문제이다. 이 문제는 PLU High School Programming Contest 2013에 Novice 1번으로 나온 문제이기도 하다. 이 문제는 되게 간단하다. 따로 입력받을 것도 없이 그냥 예제 출력에 있는 내용을 그대로 복사해서 출력해주기만 하면 된다. 자세한 코드는 밑에 있는 코드를 참고하면 된다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(Stri.. 2022. 8. 1.
반응형