본문 바로가기

728x90

Computer Science

(17)
[Baekjoon] 10101번 삼각형 외우기 B4 <Short> 10101번 - 삼각형 외우기1. 문제창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.삼각형의 세 각을 입력받은 다음, 세 각의 크기가 모두 60이면, Equilateral세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene세 각의 합이 180이 아닌 경우에는 Error를 출력하는 프로그램을 작성하시오.Input총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.Output문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.2. 사용 알고리즘수학 (Math)3. 풀이해당 풀이는 가능한..
[Baekjoon] 1068번 트리 G5 1068번 - 트리 1. 문제 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. Input 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트)..
[Baekjoon] 1193번 분수찾기 S5 <Short> 1193번 - 분수찾기 1. 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. Input 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. Output 첫째 줄에 분수를 출력한다. 2. 사용 알고리즘 수학 (Math) 3. 풀이 해당 풀이는 가능한 한 코드의 길이를 줄이고자..
[Baekjoon] 2839번 설탕 배달 B1 <Short> 2839번 - 설탕 배달 1. 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. Input 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) Output 상근이가 배달하..
[Algorithm] 색인 순차 탐색 (Indexed Sequential Search) 1. 개요 색인 순차 탐색 은 순차 탐색 의 발전 형태로, 색인 배열 (Indexed Array) 의 형태의 구조로 저장된 자료에 대해 탐색하는 방식을 의미한다. 해당 방식은 완전 탐색이 이루어지지 않으므로 브루트 포스 의 범주에서 벗어난다. 2. 의의 순차 탐색 을 개선한 방식으로 더 효율적인 탐색이 가능하다는 의의가 있다. 3. 조건 색인 순차 탐색의 조건 정렬된 배열 추가 메모리 공간 (색인 배열) 4. 구현 색인 순차 탐색 알고리즘은 반드시 배열이 정렬되어 있어야 하며, 색인 배열를 활용할 추가적인 메모리 공간이 있어야 한다. 구현 절차는 다음을 따른다. 색인 순차 탐색의 절차 색인 배열 크기 설정 색인 배열 값 설정 색인 배열에서 확인된 범위에 따른 배열 일부 탐색 먼저 다음을 정의한다. 배열:..
[Algorithm] 순차 탐색 (Sequential Search) 1. 개요 순차 탐색 (Sequential Search) 은 선형 탐색 (Linear Search) 그 자체이며, 배열과 같은 선형 구조에 대해 탐색하는 방식을 의미한다. 자료 구조 전체에 대한 탐색이 이루어지므로 완전 탐색 (Brute Force) 의 한 종류라고 할 수 있다. 2. 의의 순차 탐색 알고리즘은 구현이 용이하다. 항상 효율적이라고는 할 수 없지만, 쉽게 구현할 수 있다는 점에서 의의가 있다. 또한, 선형 구조의 정렬 여부와 관계 없이 사용 가능하다는 장점이 있다. 3. 조건 순차 탐색 역시 완전 탐색 이므로 완전 탐색의 조건을 따른다. 4. 구현 순차 탐색 알고리즘은 선형 자료 구조를 그 길이 만큼 모두 탐색하기 때문에 보통 반복문을 사용하여 구현된다. 다음의 예시를 보자. 5. 예시) ..
[Algorithm] 탐색 (Search) 1. 개요 탐색 (Search) 알고리즘은 한 개 이상의 자료들 사이에서 특정 자료를 색출하는데 사용하는 방식을 의미한다. 자료가 저장된 형식에 따라 쓰이는 탐색 알고리즘 은 달라진다. 이 포스팅에서는 탐색 알고리즘 의 종류와, 각각의 알고리즘이 어떠한 상황에서 사용되는지에 대해 살펴보고자 한다. 2. 종류 다음 모두 탐색 알고리즘 이라고 할 수 있다. 위 탐색 알고리즘을 선택하여 해당 포스팅으로 이동할 수 있다.
[Baekjoon] 2292번 벌집 B2 <Short> 2292번 - 벌집 1. 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. Input 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. Output 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 2. 사용 알고리즘 수학 (Math) 3. 풀이 해당 풀이는 가능한 한 코드의 길이를 줄이고자 하는..

728x90