본문 바로가기
728x90

알고리즘35

[Java] 11062 - 카드 게임 https://www.acmicpc.net/problem/11062 11062번: 카드 게임 근우와 명우는 재미있는 카드 게임을 하고 있다. N개의 카드가 일렬로 놓여 있다. 각 카드에는 점수가 적혀있다. 근우부터 시작하여 번갈아가면서 턴이 진행되는데 한 턴에는 가장 왼쪽에 있는 www.acmicpc.net 간만에 알고리즘에 대한 포스팅을 합니다. 이분 탐색을 하는것 처럼 left와 right의 범위를 줄여나가며 근우를 기준으로 최선의 선택을 하는 과정을 DP에 저장합니다. 가장 중요한 부분은 아무래도 이 부분이 아닐까 싶습니다. 1 2 3 4 5 6 7 8 if(flag){ // 근우 차례일 때 명우 카드에 뭘 더해야 최대값인지를 정해야 됨. return DP[left][right] = Math.max.. 2022. 8. 30.
최소 비용 문제를 어떻게 풀 것인가? 그래프 문제가 나왔을 때 어떤 자료구조, 알고리즘을 사용해야 할 지 감이 안 잡히는 경우가 많다. 그럴 때 참고하면 좋을 것 같다. BFS Queue 사용 출발지 -> 목적지 사이의 최소 비용 구하기 가중치가 없는 그래프 일 때 Dijkstra Priority Queue 사용 출발지 -> 모든 정점의 최소 비용 구하기 가중치가 음수일 수 없다. Floyd-W DP 사용 모든 정점 -> 모든 정점의 최소 비용 구하기 가중치 상관 없음 2022. 4. 1.
[Java] 2580 스도쿠 - DFS, BackTracking https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net /** * 한줄에 1~9까지 1개씩 들어가야 한다. (얘를 먼저 채우기) * * -> 1~9까지 무지성으로 채우고 check하기? * 그다음 3x3칸에 다 들어갔는지 확인한다. * */ public class bj2580 { static boolean finish; static int[][] map = new int[9][9]; static ArrayList infos; static StringB.. 2022. 4. 1.
[Java] 2812 크게 만들기 https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net [틀린 코드] - 정렬해서 K개만큼 빼주면 될 줄 알았던 나 자신을 반성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav.. 2022. 3. 29.
[Java] 신고 결과 받기 - Kakao 2022 Blind Recruitment https://programmers.co.kr/learn/courses/30/lessons/92334?language=java 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65.. 2022. 3. 12.
[Java] 2573 - 빙산 - BFS, 시뮬레이션 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 7.. 2022. 3. 10.
728x90