본문 바로가기

분류 전체보기46

[Day31]JAVA 백준 줄세우기(2631번) https://www.acmicpc.net/problem/2631 🌘 문제 이해하기선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다.위치를 옮기는 아이들의 수를 최소로 하려고 한다.N명의 아이들이 임의의 순서로 줄을 서 있을 때, 번호 순서대로 배치하기 위해 옮겨지는 아이의 최소 수를 구하는 프로그램을 작성하시오.🌗 문제 자세히보기 7명의 아이들이 3 7 5 2 6 1 4 순서대로 줄을 서 있을 때 7 ,  4 , 2 , 1 번 아이들을 옮기면 1 2 3 4 5 6 7 순서대로 배치 할 수 있다.  3 7 5 2 6 1 4 중에 7 , 4 , 2.. 2024. 11. 27.
[Day30]JAVA 백준 상자 넣기(1965번) https://www.acmicpc.net/problem/1965 백준 상자 넣기 문제를 풀기 위해서는 DP(동적 계획법)을 활용하면 된다. 🌘 문제 이해하기정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 있다.예를 들어 크기 1인 상자를 크기 5인 상자에 넣고, 다시 이 상자를 크기 7인 상자 안에 넣을 수 있다.상자의 크기가 주어질 때, 한 번에 넣을 수 있는 최대의 상자 개수를 출력하는 프로그램을 작성하시오. 첫째 줄에 한 줄에 넣을 수 있는 최대의 상자 개수를 출력한다.🌗 문제 자세히보기동적 계획법 문제는 기준점을 정하고 그 이전의 값들과 비교를 하는 것이.. 2024. 11. 26.
[Day29]JAVA 백준 파도 수열(9461번) https://www.acmicpc.net/problem/9461 백준 파도반 수열 문제를 해결하기 위해서는 규칙(점화식) 을 찾아내면된다.  🌘문제 이해하기 첫 삼각형은 정삼각형으로 변의 길이가 1정삼각형을 계속 추가하는데 나선의 가장 긴변의 길이가 k라고 했을때 , 그 변의 길이가 k인 정삼각형을 추가한다.P(N) 은 나선에 있는 정삼각형의 변의 길이 이다.N이 주어졌을 때 P(N)을 구하는 프로그램 작성🌗 문제 자세히보기 처음에는 무슨삼격형이야? 무슨 규칙이야 싶은데 하나씩 그려보면된다. 순서 : 삼각형 한 변의 길이1 : 1 2 : 1 3 : 14 : 25 : 26 : 37 : 48 : 59 : 7.. 1,2,3 번째 순서는 한변의 길이가 1로 고정이고 4번째부터는 2번째와 1번째의 삼각형의 .. 2024. 11. 25.
[Day28]JAVA 백준 가장 큰 증가하는 부분 수열(11055번) https://www.acmicpc.net/problem/11055 백준 110055번은 DP(동적 계획법) 을 활용하여 해결 할 수 있다.🌘문제 이해하기 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오.첫째 줄에 수열 A의 합이 가장 큰 증가하는 부분 수열의 합을 출력한다.🌗문제 자세히보기 수열의 증가하는 부분 수열 이란?? 크기가 10인 수열을 예시로 들겠다. int[] arr = new int[10] 이때 증가하는 부분 수열 라는 것은 아래와 같이 수열에 증가하는 흐름을 가진 부분들을 모아 부분 수열이라고 말한다1 > 1001 > 2 > 50 > 60 1 > 2 > 3 > 5 > 6 > 7 > 8   하지만 기존에 저장되어있는 수열의.. 2024. 11. 24.
[Day27]JAVA 백준 가장 긴 감소하는 부분 수열(11722번) https://www.acmicpc.net/problem/11722 🌘문제 이해하기가장 긴 감소하는 부분 수열 의 길이 구하기 🌗문제 자세히보기 가장 긴 감소하는 부분 수열 이란 : 주어진 수열에서 원소의 순서를 유지하면서 값이 점점 작아지는 가장 긴 부분 수열의 길이를 찾는 것 입니다.  예를들어 A의 배열이 있을때 A = {10,30,20,50,40,30,20}  가능한 감소하는 부분 수열은 아래의 경우와 같습니다. {30,20}{50,40}{50,40,30}{50,40,30,20} 이 중 가장 긴 수열의 길이는 4입니다. {50,40,30,20} 이것이 감소하는 부분 수열의 규칙입니다. 🌕최종코드import java.util.*;import java.io.*;public class Main{ .. 2024. 11. 23.
[Day26]JAVA 백준 돌게임(9655번) https://www.acmicpc.net/problem/9655  🌘 문제 이해하기 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져간다.돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.🌗 문제 자세히보기 돌을 가져가는 방식을 알아보겠다.돌 1개 : 상근 1 > 상근WIN 돌 2개 : 상군 1 , 찬영 1 > 찬영 WIN돌 3개 : 상근 1 , 찬영 1 , 상근 1 > 상근 WIN 돌 3개 : 상근 3 > 상근 WIN 돌 4개 : 상근 1 , 찬영 3 > 찬영 WI.. 2024. 11. 22.