본문 바로가기

PS/Baekjoon Online Judge641

[백준 11024] 더하기 4 [Java] 문제https://www.acmicpc.net/problem/11024풀이주어지는 N개의 배열의 합을 출력하면 되는 문제다.스트림을 사용해 입력받은 배열의 합을 쉽게 구할 수 있다.소스코드보기 2025. 1. 15.
[백준 15688] 수 정렬하기 5 [Java] 문제https://www.acmicpc.net/problem/15688풀이처음 풀어보는 시간 누적 유형의 문제다.문득 궁금한건 TC의 전체 수가 공개되지 않았는데 어떤 기준으로 시간 제한에 걸리지 않게 푸는지 이해하지 못했다.일단은 기존에 작성한 코드를 최대한 효율적으로 변경했다.2025.01.08 - [PS/Baekjoon Online Judge] - [백준 11931] 수 정렬하기 4 [Java] [백준 11931] 수 정렬하기 4 [Java]문제https://www.acmicpc.net/problem/11931풀이N개의 수를 입력받아 내림차순으로 정렬 후 출력하면 된다.우선 입력을 받고,내림차순 정렬 후순회하며 StringJoiner에 담아도 되고, 정규표현식을 사용해 간단kyr-db.tistory.. 2025. 1. 9.
[백준 11931] 수 정렬하기 4 [Java] 문제https://www.acmicpc.net/problem/11931풀이N개의 수를 입력받아 내림차순으로 정렬 후 출력하면 된다.우선 입력을 받고,내림차순 정렬 후순회하며 StringJoiner에 담아도 되고, 정규표현식을 사용해 간단히 출력해도 된다.소스코드보기 2025. 1. 8.
[백준 02294] 동전 2 [Java] 문제https://www.acmicpc.net/problem/2294풀이N가지 종류의 동전이 주어질 때, 동전의 합이 K가 되는 최소 개수를 구하는 문제다.N은 최대 100이므로, 모든 동전에 대해 K를 만들어보는 경우를 전부 계산해볼 수 있다.dp[i] : 현재까지 살펴본 동전들로 i원을 만들기 위한 최소 개수우선 K의 최대는 10,000이므로 dp를 10,001, dp[0] = 0으로 초기화하자.이제 입력받은 동전에 대해 최소 동전 개수를 갱신하면 된다.범위 coin ~ K에 대해 현재 동전의 액수를 뺀 기록( dp[i - coin] )에 현재 동전 더하는 수가 적은 경우로 갱신해주면 된다. 만약 dp[K]가 초기값인 10,001이라면 K를 만드는 경우의 수가 존재하지 않는 경우이므로 -1을 출력하자.. 2025. 1. 6.
[백준 32978] 아 맞다 마늘 [Java] 문제https://www.acmicpc.net/problem/32978풀이입력받은 N개의 재료에 대해 언급되지 않은 재료를 찾는 문제다.우선 N개의 재료를 입력받아 집합에 넣어주자.다음으로 N - 1개의 재료를 입력받아 어떤 재료가 빠졌는지 확인하면 된다.입력받은 재료들을 집합에서 제거해주자.정확히 N개를 입력받고, N - 1개를 제거했으므로 집합의 첫 번째 요소를 출력하면 된다.소스코드보기 2025. 1. 6.
[백준 01520] 내리막 길 [Java] 문제https://www.acmicpc.net/problem/1520풀이최대 500 X 500 크기의 보드에 대해 상하좌우 움직이면서 이전 위치보다 숫자가 작은 방향으로만 움직여 왼쪽 위에서 오른쪽 아래로 도착하는 경우의 수를 구하는 문제다.단순히 그래프 탐색으로 모든 경우의 수를 탐색하면 시간초과가 발생한다.중복 방문을 하지 않으면서도, 모든 경우의 수를 계산해야 한다.DP[i][j] = (i, j)에서 도착지 (M - 1, N - 1)까지 이동하는 경우의 수우선 입력을 받자.모든 지점이 도착지에 도달한다는 보장이 없으므로, dp는 -1로 초기화하자.dfs를 하며 만약 도착지에 도달했다면 1을. 이미 방문한 곳이라면 dp[x][y]를 반환해주자.그게 아니라면 새로운 탐색을 시작해야 하므로 dp[x][y.. 2025. 1. 4.