목록언어
Step-by-Step
https://www.acmicpc.net/problem/1781 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net 여러 가지 반례를 생각해보아야 하는 문제 이 반례를 보고 도움이 많이 됐다 → https://www.acmicpc.net/board/view/97635 예를 들어) deadLine 1 cup 2 deadLine 2 cup 4 / deadLine 2 cup 5 인 경우 데드라인 1에서 1개, 데드라인 2에서 1개를 선택하면 cup이 2+5 = 7이지만, 데드라인 2에서 2개를 선택하면 cup이 4+5 = 9..
https://www.acmicpc.net/problem/3661 3661번: 생일 선물 각 테스트 케이스마다 각 사람이 내야 하는 금액을 출력한다. 만약, 공정하게 선물을 사는 방법이 없다면 IMPOSSIBLE을 출력한다. www.acmicpc.net 돈 분배 과정에서 이미 할당량을 채운 객체를 고려해서 메모리 초과가 났던 문제 더 이상 지불할 수 없는 경우를 Array에서 제거하니 통과되었다 [주의할 점] 1. 지불 용이 금액이 높은 사람이 우선순위 - 마지막에 남은 금액을 분배할 때, 지불 용이 금액이 높은 사람을 우선적으로 선택함 - Collections.sort를 이용하여 지불 용이 금액이 높은 사람을 정렬하였음 2. 지불한 금액
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cnjT3u/btrWJHDbXJX/iq8PkkWKzoUms0FByqy2y0/img.png)
https://www.acmicpc.net/problem/23255 23255번: 구름다리 2 $1$번 건물부터 $N$번 건물까지 각 건물의 색을 공백으로 구분하여 한 줄에 출력한다. www.acmicpc.net 문제의 테스트케이스에 속으면 안되는 문제 구글에 없길래 내가 작성하는 글 설명을 잘 할 수 있을지 모르겠지만.. 일단 적어보자면 ※ 주의할점 1. 빌딩 사이의 관계 M개의 순서를 정렬해주어야 함 - 두 빌딩의 값이 들어오면 작은 수를 A, 큰 수를 B로 할당해야 함 - 전체 관계 정렬시 작은 수인 A가 같다면 B가 작은 순으로 정렬한 후 구현해야 함 - 나는 입력값을 PQ에 담고, 나중에 꺼내서 각 빌딩의 색을 할당했음 2. 빌딩의 색이 도중에 바뀔 수 있음 - 빌딩의 값이 바뀌지 않는다고 생각..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/clKalL/btrWw6QMuRR/GVjNCZ0jLiacbEMgjkWt30/img.png)
https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 www.acmicpc.net 입력 10개 출력 1개라 오랜만에 Scanner를 써봤다! 삼성 코테는 풀이가 정말정말 길다.... 그래도 해냈을때 얻는 성취감 ! (잃어버린 5시간) ※ 주의할 점 1. 분기점 10, 20, 30, 40, 25 조심!! - 빨간색 루트 타고 도착한 40이랑 파란색 루트 타고 온 40이랑 같은 경우이니 꼭 체크하자 - 어느 분기점에서 꺾어도 25 부분을 만나면 결승점으로 향하니 체크하자 2. 말을..
https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 바로 복습하기! 의도하지 않았지만 내가 다익스트라만 빼고 풀었나보다 남은게 다익스트라네 '_' 이전 최단경로처럼 풀면 답은 나오지만 시간 초과가 난다. PQ에 넣게 되면, A → B로 이동하는 버스 중 최소 비용이 앞으로 오는데, 이전에 먼저 들어간 높은 비용의 방법은 PQ에서 꺼내고 (연결된 도시를 확인하는) 나머지 작업을 생략시키면 된다. [이 부분 추가] /..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cajxfx/btrV7O3ksrt/G7DwKY6uGBcJYXxqdpTroK/img.png)
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 다익스트라의 쓴맛을 보았다.. ㅋㅋ 두 정점 사이의 간선이 여러 개 있을 수 있다고해서, 비교해서 최솟값만 저장하는 2차원 배열을 선언했는데 데이터 최대 개수와 메모리 제한을 생각하면 2차원 배열은.. 안 쓴다 해도 int[][]를 생성하면 0으로 가득찬 쓸데없는 메모리 차지가 크기 때문에, ArrayList를 사용하도록 하였다. 언제쯤 시간초과와 메모리초과를..
ArrayList에 객체를 넣고, 새로운 객체를 생성(new)해서 contains를 사용하면 무조건 false가 나온다 ArrayList arr = new ArrayList(); arr.add(new Cloud(3,4)); arr.contains(new Cloud(3,4)); // → false 객체 비교 자체가 안의 값보다 주소값으로 비교하기 때문에, 비교를 하고싶으면 == 말고 equals 연산자를 이용해야 한다 또한 contains는 equals 바탕으로 수행하기 때문에, 만약 ArrayList의 객체 비교를 원하면(=contains 사용을 원하면) equals를 override 해서 사용하면 된다 static class Cloud { public int x, y; public Cloud(int x..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhnPQF/btrUorvlkPk/5HjJE5FONBATRxzAbJ4lI1/img.png)
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 다음주부터는 C++ 집중해서 해야지! 삼성 코테스러운 문제다. DFS / BFS 사용하는 문제! 그냥 모든 경우의 수를 다 구한 뒤 최솟값을 구해주면 됨 출제자도 경우의 수가 eva..인거 아는지 놓는 사다리 개수를 3개로 제한했다 (DFS cnt==3이면 return으로 중단시키면 됨) ※ 더 좋은 방법이 있을 거 같아서 사다리 타기 선 긋기 원리 쳐봤는데 딱히 없는듯 2차원 배열 Map으로 ..