본문 바로가기

Java53

[백준 Silver 3] 15270 친구 팰린드롬 - Java 문제링크 : https://www.acmicpc.net/problem/15270 15270번: 친구 팰린드롬 초등학생인 재홍이는 이번 봄 학예회 때, 재홍이가 지휘를 맡고 반 친구들이 춤을 추기로 계획했다. 이 춤은 시작할 때 춤추는 친구들이 일렬로 쭉 서서 각자 막춤을 추다가, 가운데 있는 친구를 www.acmicpc.net 접근 과정 : 반 친구들은 1:1로 묶여져야 한다. 관계도의 조합을 만들어가고, 각 조합에 따라 친구의 사용 유무를 확인하여 가능한 최대수를 찾는다!! 최대한 세울 수 있는 친구 수가 N보다 작다면, 1명을 추가!! 소스 코드 및 결과 : package BOJ; import java.io.*; import java.util.*; /* 친구 팰린드롬 */ public class BO.. 2021. 12. 16.
[백준 Gold 4] 21923 곡예 비행 - Java 문제링크 : https://www.acmicpc.net/problem/21923 21923번: 곡예 비행 동헌이는 모형 비행기 조종 대회에 참가하였다. 이 대회에서는 격자 모양의 공간에서 모형 비행기를 조종하여 얻는 비행 점수로 순위를 매긴다. 격자의 각 칸에는 점수가 부여되어 있고, 비행 www.acmicpc.net 접근 과정 : 상승 비행과 하강 비행을 따로 관리 (상승 구간과 하강 구간이 중복되는 칸이 1~N개 있다!!!) 상승 비행이 끝나는 칸 == 하강 비행이 시작하는 칸 비행 점수 = (r,c)까지 상승한 경우 + (r,c)부터 하강하는 경우 DP로 하강 비행을 탐색하고 하강 비행 탐색 로직 내부에서 상승 비행 탐색을 수행 하강비행 = (r,c)까지 상승비행 + (r,c)부터 하강비행 OR (.. 2021. 12. 16.
[백준 Gold 4] 14499 주사위 굴리기 - Java 문제 링크 : https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 문제 이해 : 지도 위에서, 주사위를 공처럼 굴리는 것을 상상 한 칸 굴렸을 때, 밑면의 숫자는 변하고, 윗면은 출력 주사위가 굴러갈 때, 어떻게 변하는 지 확인!! 접근 과정 : 굴러가는 방향에 따라, 주사위의 변화를 확인했고 이를 어떻게 반영할지 고민!! 첫번째 아이디어 주사위를 한 칸 굴리면 방향에 따라 한 칸씩.. 2021. 12. 16.
[백준 Silver 2] 11722 가장 긴 감소하는 부분 수열 - Java 문제링크 : https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 접근 과정 : 수열 A를 모두 입력 받은 후에, 감소 수열 체크 dp[] 는 해당 인덱스까지의 확인했을 때, 가장 긴 감소 수열의 크기를 의미 수열 A를 순회하면서, 해당 인덱스(i) 앞 부분의 수(j)를 모두 체크 만약 앞 부분의 dp[j]가 현재 인덱스의 dp[i]보다 작지 않고, A[j] 가 A[i] 보다.. 2021. 12. 16.