일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 세그먼트트리
- 01BFS
- deque
- 게더타운시작
- java
- DFS
- GatherTown
- COSPROJAVA1급
- 완전탐색
- 알고리즘
- 네트워크플로우
- 취득후기
- QUICKSTARTGUIDE
- 구현
- 재귀함수
- 백준
- COSPRO
- 시뮬레이션
- 엘라스틱서치
- BFS
- 다이나믹프로그래밍
- 백준코딩테스트
- spring
- PS
- dp
- 다익스트라
- YBMCOS
- 우선순위큐
- 이젠 골드구현도 어렵네..
- 자바PS
- Today
- Total
목록알고리즘 (208)
공부공간
https://www.acmicpc.net/problem/23747 23747번: 와드 와드를 설치하지는 않았지만, 한별이의 최종 위치의 위, 아래, 왼쪽, 오른쪽 칸은 시야로 확보하고 있다. 지나온 경로를 모두 시야로 확보하지는 않는다. www.acmicpc.net 주어진 움직인 횟수만큼 좌표를 이동시켜주되, w (와드) 인 움직임에서는 BFS를 실행시켜주자, 이 때 WW와 같은 연속된 입력을 방지하기 위해서 . ( 즉 시야가 이전에 밝혀진 ) 곳은 실행 할 필요가 없다. 또한, 경로중에 상하좌우는 밝히지 못하고 최종 좌표에서만 상하좌우 + 최종좌표의 값만 . 로 바꾸어준다. 단순 구현만하면 풀리는 문제이다. package algorithm_2022; import java.io.BufferedReade..
https://www.acmicpc.net/problem/13463 13463번: Brexit The input starts with one line containing four space separated integers C, P, X, and L. These denote the total number of countries (2 ≤ C ≤ 200 000), the number of trading partnerships (1 ≤ P ≤ 300 000), the number of your home country (1 ≤ X www.acmicpc.net 여러개의 행성이 존재하는데, 한 행성이 union을 탈출하면서 해당 행성과 연결되어있는 행성들의 간선개수를 한개씩 줄여준다. 만약 줄여주는 과정에서, 최초..
https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 석순의 높이를 정렬하여 만나는 개수를 COUNT해준다. 종유석의경우 동일하게 구한다음, 최종 높이에서 개수를 구할 때에 H-index번째의 개수를 참조한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.St..
https://www.acmicpc.net/problem/1584 1584번: 게임 첫째 줄에 위험한 구역의 수 N이 주어진다. 다음 줄부터 N개의 줄에는 X1 Y1 X2 Y2와 같은 형식으로 위험한 구역의 정보가 주어진다. (X1, Y1)은 위험한 구역의 한 모서리이고, (X2, Y2)는 위험한 구역의 www.acmicpc.net 전형적인 0-1 BFS의 문제이다. 죽음의 구역은 못가기때문에, BFS를 돌릴때에 방문한거와 동일하게 처리해준다. 이동할때에, 위험한 구역에 들어가면 1의 가중치가 소요되므로 이경우에는 덱의 맨뒤에 넣고 안전한 구역은 덱의 맨앞에넣어서 탐색을 계속 진행한다. (500,500)에 도달했다면, 최솟값이 보장되기때문에 출력을 진행하면된다. import java.io.Buffered..
https://www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 큐브의 시뮬레이션을 위해서 모든 경우의수에 대해서 색과 방향을 고려해 코딩해준다. 맨 윗면이 시계방향으로 돌았을 경우, 옆면의 제일 윗면도 같이 돌아감에 유의하여 구현한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public s..
https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 쉬는날을 맞아서 프로그래머스에서 진행하는 위클리챌린지를 풀어보았다. 이번 포스팅에서는 JAVA로 1-4주차 푼문제를 정리하려한다. ( + 2021.08.30 5주차 문제풀이 추가 ) (+ 2021.09.14 6,7주차 문제풀이 추가) (+ 2021.09.30 8주차 문제풀이 추가) 1 주차. https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기..
https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 두 문자열의 차이를 최소로하기위하여, 이후 추가하는 문자열은 같다고 생각한다. 즉 긴문자열에 대해서 짧은 문자열을 이동시키면서 다름이 최소가되는 값을 찾으면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util..
https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 작업의 우선순위 중, 최소시간을 구하기 위해서 위상정렬을 통하여 차수에 대한 누적합을 구해줍니다. 정렬이 끝난 후, Sum의 값중 가장 큰 값이 정답입니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import j..