일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GatherTown
- 네트워크플로우
- spring
- 게더타운시작
- 백준코딩테스트
- 우선순위큐
- 이젠 골드구현도 어렵네..
- 엘라스틱서치
- 다이나믹프로그래밍
- dp
- 취득후기
- 시뮬레이션
- 01BFS
- 백준
- QUICKSTARTGUIDE
- COSPROJAVA1급
- YBMCOS
- COSPRO
- 세그먼트트리
- 자바PS
- 구현
- 재귀함수
- DFS
- 완전탐색
- 알고리즘
- deque
- PS
- BFS
- 다익스트라
- java
- Today
- Total
목록알고리즘 (208)
공부공간
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com map에서 3번 벽돌을 깰수있다 row에서 중복조합을 통해 3개의 index를 선택 (DFS) 한 후에 그 index에서 포탄을 떨어뜨려 해당 map의 수만큼 상하좌우로 연쇄적으로 포탄이 터지면서 최종 벽돌이 몇개남았는지? 최솟값을 출력하는 문제이다. 문제의 순서는 간단하다. 1. N개중에 중복을 허용해서 3개를 선택 2. 선택된 3개를 순차척으로 처리 ( ArrayList 사용 ) 3. 선택된 R..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7I5fgqEogDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com map을 돌면서 map에 적힌 숫자를 누적시켜 7 개가되었을때 그러한 string이 몇개 있는지 구하는 문제이다. DFS를 돌면서 결과를 Hashset안에 넣고 마지막에 Hashset의 크기가 정답이 되는 문제이다. 사실 문제는 간단했지만 여러 의문점이 남는다. String의 자료형 타입은 Non-primitive이므로 heap영역에 객체가 생성될텐데 DFS인자로 넘겨줄때에는 hashcode값 / ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIseXoKEUcDFAWN&categoryId=AWIseXoKEUcDFAWN&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 재관이는 3벌을사면 3벌중 가장 싼 옷을 무료로 받을수 있다. 예를들어서 10 7 8 4 2 2 4 옷을 사면 나올수 있는 조합에서 가장싸게 구하는 경우를 답으로 채택하면 된다. 잘 생각해보면 세일을 크게 받는 경우는 가격이 비싼 옷끼리 묶어 사는경우이다. 자연스럽게 배열의 정렬을 떠올리게되고 뒤에서부터 3번째 경우에..
왤케 어렵게 생각했었지.. 생각보다 단계별로 나누면 간단한 문제였다.. 통과된게 신기하지만.. https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRJ8EKe48DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 줄기세포는 각 X 시간후에 번식하면서 ( 상 하 좌 우 ) X 시간동안 살아있으면서 X 시간이 지나면 죽는 세포분열? 문제이다. 1초에는 생명력이 1인 세포들이 번식준비를하고 2초에 상하좌우로 번식하게 된다, 동시에 생명력 2인 세포들이 번식하면서 계속 진행하게 된다. 그러면 t초 후에는 어떠한 세포들이 ..
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 배열을 전진하면서 경사로를 놓을수 있는지 없는지 테스트하는 문제이다. 문제는 간단하다. 길이 L인 경사로로 높이가 1차이나는 경우를 연결할 수있다. 연결되면 계속 진행하여서 한 행의 끝까지 도달하면 answer를 증가시킨다. 길이 L의 경사로를 사용했다는 visit 배열을 사용해서 경사로를 놓을떄 놓을수 있는지 없는지 확인하면서 진행하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18..
주어진 상자의 크기가 위와 같이 각각 1, 5, 2, 3, 7 의 경우 1, 2, 3, 7 의 크기 차례로 상자에 넣을 수 있다. 예제의 경우 8개의 상자 크기가 주어질 때 1, 2, 3, 5, 6 의 순으로 상자를 넣는 것이 가장 많은 상자의 개수를 출력하게 된다. 따라서, 해당 문제는 가장 긴 부분 수열과 같은 방법으로 해결하는 문제이다. 가장 긴 부분 수열을 구하는 문제와 같이, 2중 for 문을 활용하여 인덱스 마다 상자를 넣을 수 있는 최대 개수를 갱신하는 DP 알고리즘을 통하여 문제 해결이 가능하다.
문제 ↓ https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq&categoryId=AV5PoOKKAPIDFAUq&categoryType=CODE 등산로를 개척하면서 단 한 경로의 높이를 낮추어서 최장거리의 경로를 구하는 문제이다. 이경우 N이 충분히 작기때문에 DFS로 해결이 가능했지만, N이 크다면 BFS + 백트래킹 + VISIT배열변경 등의 다양한 방법으로 접근해야 했었던 문제이다. https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이..
https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 1이 적힌 칸은 모두 색종이로 덮여져야 한다. 색종이를 붙일 때는 종이의 경계 밖으로 나가서는 안되고, 겹쳐 www.acmicpc.net 한참 시간초과가 난문제.. 색종이를 붙일수있으면 ( 5x5,4x4...) 붙이고 최소로 덮을 수 있는 개수를 출력하는 문제이다. 각 색종이는 5장씩있어..