분류 전체보기 278

[백준 1835] 카드 - JAVA

https://www.acmicpc.net/problem/1835 덱 문제 써있는대로 구현은 경우의 수가 1000!이므로 불가능하다.힌트에 있는 과정을 역순으로 진행 및 반대로 해석한다. 책상 위로 덱 안에 넣음앞을 뒤로 뒤를 앞으로 import java.util.ArrayDeque;import java.util.Deque;import java.util.Scanner;class Main { public static void main(String[] args) { int N = new Scanner(System.in).nextInt(); Deque q = new ArrayDeque(); q.offerFirst(N); int card = N - 1; while (card > ..

[백준 1793] 타일링 - JAVA

https://www.acmicpc.net/problem/1793 Dp 기초 + 큰 수 연산 dp를 사용하므로 복잡도는 크지않아 빅인티저로 해결 가능 단, n=0일 때 1을 출력해야한다. 이에 대한 글이 있다.https://www.acmicpc.net/board/view/33143import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigInteger;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inp..

[백준 1599] 민식어 - JAVA

https://www.acmicpc.net/problem/1599 ng를 하나의 문자로 처리하는 것과 ang, angle 처럼 한 단어가 prefix 부분집합이 되는 경우는 더 짧은 것이 우선순위가 높음에 주의 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;class Main { //a b k d e g h i l m n ng o p r s t u w y public s..

[백준] PS/Java 2025.03.04

[백준 1647] 도시 분할 계획 - JAVA

https://www.acmicpc.net/problem/1647 1. MST 구성 (크루스칼 사용)2. total weight - max weight인 간선을 하나 뺀 값 출력 제출 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.StringTokenizer;class Main { static class Edge { int..

[백준] PS/Java 2025.03.04

[백준 1157] 도로의 개수 - JAVA

https://www.acmicpc.net/problem/1577  시행 착오: 1. N이 가로를 의미한다. 배열은 정사각형이 아니므로 N이 세로를 의미하면 답이 달라진다. (도로 정보까지 맞춰서 반대로 저장하면 상관없음) 2. 도로를 기록할 때 양방향으로 저장했다가 틀렸다.if (a == c) {load[b][a][0] = d;load[d][a][0] = b;} else {load[b][a][1] = c;load[b][c][1] = a;} 이러면 한 지점에 연결된 도로의 정보가 2개 이상이면 모두 기록하지 못하고, 덮어 씌워진다.  import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import..

[백준] PS/Java 2025.03.02

[백준 1988] 낮잠 시간 - JAVA

https://www.acmicpc.net/problem/1988 dp문제 처음에 누적합이 떠올랐는데조합으로 원소 뽑으려면 3000!/(3000-n)! * n!이여서 불가능했다. 이후 문제분류 보고 풀음  처음엔 dp[N+1][B+1][2][2]  = dp[N][B][잠 or 안잠][ 준비 or 준비아님]로 생각했다가경우의 수를 구체화 하다보니 더 간결하게 만들 수 있었고, 다음과 같은 식을 세우고 풀었다.// 1. 잠을 잔 경우s[n][b] = Math.max(ns[n-1][b-1], s[n-1][b-1] + cost[n]);// 1-1. 안잤었음, 잠횟수 소모, 안잤었으니 준비 시간임ns[n-1][b-1]// 1-2. 잤었음, 잠횟수 소모, 잤었으니 준비 시간 아님s[n-1][b-1] + cost[n..

[백준] PS/Java 2025.02.27