본문 바로가기

백준4

백준2579 계단오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 www.acmicpc.net 개인적으로 정말 어려운 문제였다. 동적계획법은 진짜 풀이가 잘 떠오르지 않는다. 2차원 배열로 문제를 해결해야하는 것 까지는 알겠는데 그 이후로 코드를 어.. 2020. 5. 3.
백준 9461 파도반 수열 자바 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하 www.acmicpc.net 기본적인 동적계획법 문제였다. 풀이 12345678910111213141516171819202122232425262728package.. 2020. 4. 26.
백준 1931 회의실배정 https://www.acmicpc.net/problem/1931 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 유명한 그리디 알고리즘 문제라고 한다. 회의시간이 가장 빠른 것을 기준으로 정렬을 해준다음 회의들을 순회하며 가장 빨리 끝나는 회의시간보다 늦게 시작하는 회의가 나올 때 마다 카운트를 하여 정답을 찾아냈다. 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package 그리디_알고리즘; import java.io.*; import java.util.*; public class 회의실.. 2020. 3. 23.
백준15652 n과m(4) https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net 처음 호출되거나 선택할 예정인 숫자가 이전에 선택했던 숫자이상이면 선택하고 함수를 호출하는 방식으로 문제를 해결했다. 123456789101112131415161718192021222324252627282930313233343536373839package 백트래킹; import java.io.*;import java.util.Arrays;import java.util.StringToke.. 2020. 3. 19.