본문 바로가기

코딩테스트205

[DP] 도둑질 - JAVA [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예전에 비슷한 문제를 풀어본 기억이 있어서 초기 아이디어는 금방 얻을 수 있었다 근데 뒤에서 생각이 좀 꼬여서 초기 코드는 꽤나 지저분하다,,, 그래도 일단 초기 내 생각을 간단하게나마 정리해보고, 개선된 코드도 뒤에 소개를 해보도록 하겠다! 🤔 DP 배열 정의 먼저 문제에 접근하는 아이디어는 첫집을 터는 경우와 털지 않는 경우로 구분하는 것이다! 첫집을 터는 경우 → 막집을 털 수 없다.. 2023. 3. 28.
[DP] 정수 삼각형 - JAVA (version 2) 요번 문제도 이전에 푼 적이 있지만, 이전 풀이가 불친절(?)한 관계로 보다 자세하게 풀이를 남기려고 한다😅 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 school.programmers.co.kr [이전 풀이] https://yummy0102.tistory.com/395 [DP] 정수 삼각형 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래.. 2023. 3. 14.
[DP] N으로 표현 - JAVA (version 2) 이전에 한 번 풀고 풀이까지 작성한 적 있는 문제인데 다시 풀려니까 기억이 안난다,,,😳 내 풀이 참고하려고 글을 봤는데 또 성의없게 적혀 있다,,,😠 그래서 좀 더 꼼꼼하게 적어보고 풀면서 알아낸 것도 써보고자 다시 풀이를 적는다..! [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [이전 풀이] https://yummy0102.tistory.com/393 [DP] N으로 표현 - JAVA https://school.programme.. 2023. 3. 10.
[백준] 11052번 - 카드 구매하기 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 풀이과정 dp[n] : n개의 카드를 구매하는 가격의 최대값 arr[n] : n개의 카드가 들어있는 카드팩의 가격 [예시] dp[1] = arr[1] dp[2] = dp[1] + arr[1] dp[2] = arr[2] dp[3] = dp[2] + arr[1] dp[3] = dp[1] + arr[2] dp[3] = arr[3] ... 이런식으로 가능한 경우의 수가 나오는데, 우리는 최댓값을 구해야하므로 위.. 2023. 2. 24.
[연습문제] 귤 고르기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Map에 귤 크기 별로 개수를 저장한다 그리고 이를 value 기준으로 정렬하는데, Comparator 인터페이스를 통해 오버라이딩해서 정렬 기준을 value로 잡는다 Map의 keySet을 불러서 Comparator로 정렬하고, 큰 값부터 빼가면서 k개가 되면 return 한다 Comparator 사용법만 알면 어렵지 않게 구현할 수 있었던 문제였다! (물론 난 몰랐음^^;) 자바 코드) im.. 2022. 12. 22.
[연습 문제] 디펜스 게임 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딱 봐도 모든 경우의 수를 다 찾는건 무리라고 생각이 들고... 이걸 어쩌지.. 하다가 찾아보니까 좋은 방법이 있었따! 지금까지 뺀 값들 중에서 가장 큰 값을 롤백하는 방법이다! 이게 무슨말이냐면 우선 적의 수를 순서대로 우선순위 큐에 저장한다 그리고 만약 병사의 수가 0보다 적으면 무적권을 사용하는 것이다 이 때 무적권은 우선순위 큐에 저장된 적의 수 중에서 가장 큰 값에 대해서 사용한다 아래.. 2022. 12. 19.