728x90
반응형

Java/Algorithm Problems 18

<백준> 24.09.19에 푼 문제들

취준하고 취업하고 첫주 보내고 추석연휴보내고 하다보니 블로그는 거의 맨 뒷전이었다.그러다보니 알고리즘 문제도 머릿속에서 싹 다 잊어버렸다.재활훈련 시작이다...!!이제는 자바가 주력 언어가 돼서 자바로만 거의 문제를 풀 거 같다.완전 초보부터 단계별로 풀기 할 거다...ㅎㅎ1. A-B (Bronze 5)[백준]https://www.acmicpc.net/problem/1001import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S..

<백준> 평범한 배낭(Gold 5)

[백준]https://www.acmicpc.net/problem/12865[깃허브] ForCodeKata/baekjoon 문제집/평범한 배낭 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com이전에 Kotlin으로 풀었던 문제였지만 이번에는 Java로 풀어봤다.0-1 배낭 문제였다.주어진 용량의 가방에 최대 가치만큼 물건을 넣는 문제..! 일단 물건의 무게와 가치를 저장하기 위해 클래스를 만들고 배열로 만들었다.그리고 2중 for문을 돌면서 현재 물건의 무게가 가방에 들어갈 수 있는 무게인지를 체크했다...

<백준> 자두나무(Gold 5)

[백준]https://www.acmicpc.net/problem/2240[깃허브] ForCodeKata/baekjoon 문제집/2240 자두나무 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com정말 정신없이 보낸 3주간의 일정을 마치고 오랜만에 문제를 푸는 시간을 가졌었다.그랬더니 DP 문제가 난공불락처럼 보이는 신기한 일을 경험... 문제 자체는 움직임 제한에 맞춰 가장 많은 자두를 받으면 몇 개인지 맞추면 되는 간단한 문제였지만 이를 어떻게 구현해야할지 갈피를 잘 잡지 못했다.2차원 DP 배열을 써..

<백준> 24.07.19에 푼 문제들

1. 삼각 그래프 (Silver 1)[백준]https://www.acmicpc.net/problem/4883 [깃허브] ForCodeKata/baekjoon 문제집/4883 삼각 그래프 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com뭔가 풀어봤던 유형인 거 같은데 잘 생각나지 않아서 시간이 많이 걸렸다.그리고 왜 옆으로 가는 화살표가 있나 했는데 조건 중에 제곱해서 1000000보다 작다는 거에서 음수가 가능하기 때문이었다...!그러면 옆으로 갔다가 가는게 더 최솟값이 나올 수 있다. 무조건 1층 중..

<백준> 24.07.18에 푼 문제들

1. 오르막수 (Silver 1)[백준]https://www.acmicpc.net/problem/11057 [깃허브] ForCodeKata/baekjoon 문제집/11057 오르막수 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com이전에 풀었던 계단수 문제 덕분인지 접근법이 금방 떠올랐다.2차원 dp 배열로 두고 각 행을 숫자 개수, 각 열을 시작 숫자로 뒀다.그리고 열이 0일 때와 아닐 때를 나눠 dp 배열을 채워갔다. 오버플로우 에러가 계속 나서 10007을 더해줬다. 작성한 코드는 다음과 같다./..

<백준> 24.07.17에 푼 문제들

1. 카드 구매하기 (Silver 1)[백준]https://www.acmicpc.net/problem/11052 [깃허브] ForCodeKata/baekjoon 문제집/11052 카드 구매하기 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com언젠가 풀어봤던 유형의 문제여서 금방 해결했다.정확히는 바텀업 방식으로 금방 해결했다.탑다운 방식은 잘 떠오르지 않았다. 왜냐하면 2중 for문이었기 때문이다... 그래도 알게 된 것은 바텀업에서 탑다운으로 바꿀 때 겉에 있는 변수는 재귀함수의 매개변수로, 안에 있..

<백준> 24.07.16에 푼 문제들

1. 극장 좌석 (Silver 1)[백준]https://www.acmicpc.net/problem/2302 [깃허브] ForCodeKata/baekjoon 문제집/2302 극장 좌석 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com패턴을 찾기 위해 그리다보니 맨 앞 자리를 고정하는 경우와 맨 앞 자리를 교체하는 경우에 대한 숫자 배열에서 피보나치 수열이 나타났다. 여기서 dp 배열은 n 자리가 있을 때 조건에 맞춰 자리를 바꿀 수 있는 경우의 수였다.vip 자리가 0 ~ n개까지 가능하기 때문에 dp ..

<백준> 24.07.15에 푼 문제들

1. 쉬운 계단 수 (Silver 1)[백준]https://www.acmicpc.net/problem/10844 [깃허브] ForCodeKata/baekjoon 문제집/10844 쉬운 계단 수 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com이걸 어떻게 접근하지... 하다가 직접 계단수를 써내려가는데 이전 단계의 양쪽 값을 더하는 규칙이 보이기 시작했다.그래서 처음에 1차원 배열로 뒀던 DP 배열을 2차원 배열로 변경하고 각 단계에 따른 1~9까지의 dp 값을 저장했다. 바텀업 방식은 금방 해결할 수 ..

<백준> 24.07.12에 푼 문제들

1. RGB거리 (Silver 1)[백준]https://www.acmicpc.net/problem/1149 [깃허브] ForCodeKata/baekjoon 문제집/1149 RGB거리 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.com2차원 배열 dp가 등장했다. 당황했다.하지만 바텀업 방식, 반복문을 사용하는 방식으로 해결했다.탐다운 방식, 재귀문을 사용하는 방식도 해보려고 노력했지만 잘 되지 않아 다른 사람의 풀이를 참고해서 해봤다.비슷한 듯 달라서 아직은 헷갈린다.앞으로 Sliver 1 문제는 두 가..

<백준> 24.07.11에 푼 문제들

1. 가장 큰 증가하는 부분 수열 (Silver 2)[백준]https://www.acmicpc.net/problem/11055 [깃허브] ForCodeKata/baekjoon 문제집/11055 가장 큰 증가하는 부분 수열 at main · heesoo-park/ForCodeKata알고리즘 문제 코드 저장소. Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub.github.comdp 배열 초기값과 2중 for문, 현재 위치 기준으로 왼쪽 편 숫자들 체크하는 방식 생각나지 않았다...또한 같은 숫자들이 나올 때 틀리는 문제가 있었는데 continue를 사용하면서 두번째 for문 안에 있는 max = Math.ma..

반응형