전개발
article thumbnail
[Java] 백준 #1931 : 회의실 배정
Algorithm 2023. 2. 11. 01:12

문제분류 그리디 알고리즘 정렬 문제 https://www.acmicpc.net/problem/1931 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이..

article thumbnail
[Java] 백준 #15649 : N과 M (1)
Algorithm 2023. 2. 1. 01:42

문제분류 백트래킹 문제 https://www.acmicpc.net/problem/15649 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 입력 1 3 1예제 출력 1 1 2 3예제 입력 2 4 2예제 출력 2 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3예제 입력 3 4 ..

article thumbnail
[Java] 백준 #2563 : 색종이
Algorithm 2023. 1. 12. 22:26

문제분류 구현 문제 https://www.acmicpc.net/problem/2563 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리이..

article thumbnail
[Java] 백준 #2231 : 분해합
Algorithm 2023. 1. 10. 23:26

문제분류 브루트포스 알고리즘 문제 https://www.acmicpc.net/problem/2231 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다..

article thumbnail
[Node.js] 백준 #1427 : 소트인사이드
Algorithm 2023. 1. 7. 20:02

문제분류 정렬 문제 https://www.acmicpc.net/problem/1427 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 예제 입력 1 2143 예제 출력 1 4321 예제 입력 2 999998999 예제 출력 2 999999998 예제 입력 3 61423 예제 출력 3 64321 예제 입력 4 500613009 예제 출력 4 965310000 Solution 정렬 함수 구현 (내림차 순) 2중 for loop를 사용하여 첫 번째 원소와 다음 원소를 비교하고, 다음 원소가 현재 원..

article thumbnail
[Node.js] 백준 #2750 : 수 정렬하기
Algorithm 2023. 1. 7. 20:01

문제분류 정렬 문제 https://www.acmicpc.net/problem/2750 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 2 3 4 1 예제 출력 1 1 2 3 4 5 Solution 입력 데이터 가공 수의 개수 N을 변수 N에 저장하고, 그 다음에 오는 N개의 숫자를 newInput[]에 push 한다. 정렬 함수 구현 (오름차 순) 2중 for loop를 사용하여 첫번째..

article thumbnail
[Node.js] 백준 #9076 : 점수 집계
Algorithm 2023. 1. 7. 20:00

문제분류 정렬 문제 https://www.acmicpc.net/problem/9076 한국 체조협회에서는 심판의 오심을 막기 위하여 점수 집계 시스템을 고치기로 하였다. 이전에는 5명의 심판이 1점부터 10점까지 정수의 점수를 주면 최고점과 최저점을 하나씩 제외한 점수의 합을 총점으로 하였다. 이를 보완하기 위해서 최고점과 최저점을 뺀 나머지 3명 점수의 최고점과 최저점의 차이가 4점 이상 나게 되면 점수 조정을 거쳐서 다시 점수를 매기려고 한다. 점수를 집계하여 총점을 계산하거나, 점수 조정을 거쳐서 다시 점수를 매기려고 하는 경우에는 총점 대신 KIN(Keep In Negotiation)을 출력하는 프로그램을 작성하시오. ** 입력 ** 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)..

article thumbnail
[Node.js] 백준 #5576 : 콘테스트
Algorithm 2023. 1. 7. 20:00

문제 분류 정렬 문제 https://www.acmicpc.net/problem/5576 최근 온라인에서의 프로그래밍 콘테스트가 열렸다. W 대학과 K 대학의 컴퓨터 클럽은 이전부터 라이벌 관계에있어,이 콘테스트를 이용하여 양자의 우열을 정하자라는 것이되었다. 이번이 두 대학에서 모두 10 명씩이 콘테스트에 참여했다. 긴 논의 끝에 참가한 10 명 중 득점이 높은 사람에서 3 명의 점수를 합산하여 대학의 득점으로하기로 했다. W 대학 및 K 대학 참가자의 점수 데이터가 주어진다. 이때, 각각의 대학의 점수를 계산하는 프로그램을 작성하라. 입력 입력은 20 행으로 구성된다. 1 번째 줄부터 10 번째 줄에는 W 대학의 각 참가자의 점수를 나타내는 정수가 11 번째 줄부터 20 번째 줄에는 K 대학의 각 참가..

article thumbnail
[Node.js] 백준#2752 : 세수정렬
Algorithm 2023. 1. 7. 19:57

문제 분류 정렬 문제 https://www.acmicpc.net/problem/2752 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. 입력 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. 출력 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. 예제 입력 1 3 1 2 예제 출력 1 1 2 3 Solution 2중 for loop를 사용하여 첫 번째 원소와 다음 원소를 각각 비교한다. 만약, 다음 원소가 현재 원소보다 작다면, 현재 원소와 다음 원소의 자리..