목록알고리즘 (508)
어흥
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 회전의 수가 최대 3번이 아니다 - 회전시, 맨 뒤의 숫자가 맨 앞에 추가되는것 - 숫자가 커질 수 있으므로 Long으로 지정한다 2. 구현 - String으로 받은 후, Treeset에 대입하여 중복제거 + 오름차순 정렬로 되도록 설정한다 - Rot() 함수가 회전을 담당한다 - Treeset은 오름차순으로 정렬되어 있으므로, Set.size()-k의 위치에 있는 ..
문제 링크: https://www.acmicpc.net/problem/1400 1400번: 화물차 문제 화물차가 출발지 창고에서 짐을 싣고 배송지 창고까지 짐을 운반하려고 한다. 이 도시의 도로망을 나타낸 지도의 예는 다음과 같다. #A##0##1# .#..#..#. .#..#..#. .###2#.B. 도로망에서 차들은 동, 서, 남, 북의 방향으로만 이동할 수 있고, 지도의 각 문자는 다음과 같은 의미를 가진다. 'A'는 출발지 창고를 나타내고, 지도에서 유일하다. 'B'는 배송지 창고를 나타내고, 지도에서 유일하다. '.'은 차가 들어갈 수 없는 www.acmicpc.net 1. 주의할 점 - 교차로에 들어간 차량은 언제든지 임의의 방향으로 나갈 수 있다. - 교차로의 모양을 초 단위로 바꾼다 - 모..
문제 링크: https://www.acmicpc.net/problem/8452 8452번: 그래프와 쿼리 문제 방향성 있는 그래프 G가 주어진다. 모든 간선의 길이는 1일 때, 당신은 두 가지 쿼리를 처리해야 한다. 간선 하나를 제거한다. 정점 1에서 정점 i 까지의 최단 경로를 출력한다. 경로가 없으면 -1을 출력한다. 입력 첫 번째 줄에 그래프의 정점, 간선의 수와 질의의 수를 나타내는 n, m, q 가 주어진다. (1 ≤ n ≤ 1, 000, 1 ≤ m ≤ 100, 000, 1 ≤ q ≤ 200, 000) 정점들은 순서대로 1부터 n까지 번호가 매겨져 www.acmicpc.net 1. 주의할 점 - 오프라인 쿼리의 원리를 활용한다(간선을 끊는게 아닌 쿼리의 역으로 실행하여 간선을 추가하는 방향으로)..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 해당 위치의 코어를 가장자리와 연결 하지 않는 경우도 있다 - 새로운 방법으로 더 많은 코어가 연결 가능하다면, 무조건 MaxConnect, Minlen을 갱신한다 - 매 TC마다 V벡터, MaxConnect, Minlen를 초기화한다 2. 구현 - 변두리에 위치하지 않은 코어를 V 벡터에 전부 넣는다 - 코어를 가장 자리와 연결할 수 있는지 확인하고, 가능하다면 A..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0gG3E/btqDDvJaTem/aAvnJI23rlbK8JDJ9udTsK/img.jpg)
문제 링크: https://www.acmicpc.net/problem/10875 10875번: 뱀 가로 길이와 세로 길이가 모두 2L + 1인 2차원 격자판이 있다. 이 격자판의 각 칸을 그 좌표에 따라 (x, y)로 표현하기로 한다. 격자판의 가운데 칸의 좌표는 (0, 0)이고, 맨 왼쪽 맨 아래 칸의 좌표는 (−L, −L), 그리고 맨 오른쪽 맨 위 칸의 좌표는 (L, L)이다. x좌표는 왼쪽에서 오른쪽으로 갈수록, y좌표는 아래에서 위로 갈수록 증가한다. 이 격자판의 (0, 0) 칸에 한 마리의 뱀이 자리를 잡고 있다. 처음에는 뱀의 크기가 격자 www.acmicpc.net 1. 주의할 점 - 연산이 헷갈리지 않도록 변수를 사용하여 연산값을 저장한다 - 10^8*2 * 10^8*2 만큼의 배열을 생..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-lPB6dHUDFAVT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 조합, DP를 통한 풀이 방법이 있지만, DP(메모아이징)를 통해 해결한다 - 시작 전, DP[][]의 값을 전부 초기화한다 2. 구현 - DP[Idx][Remain] 배열을 통해 해당 Idx의 위치에서 Remain만큼 남은 칼로리가 있을 때, 얻을 수 있는 가장 큰 점수를 저장한다 - Knapsack 알고리즘을 통해 해당 'Idx의 위치에 있는 재료를 추가해서 얻을..
문제 링크: https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net 1. 주의할 점 - 언제 While문을 끝내야 하는지 알아야 한다 - 연합되는 국가를 어떻게 확인할지 알아야 한다 2. ..
문제 링크: https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 문제 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일직선으로 이은 형태이다. 모든 별들은 별자리 위의 선을 통해 서로 직/간접적으로 이어져 있어야 한다. 별들이 2차원 평면 위에 놓여 있다. 선을 하나 이을 때마다 두 별 사이의 거리만큼의 비용이 든다고 할 때, 별자리를 만드는 최소 비용을 구하시오. 입력 첫째 줄에 www.acmicpc.net 1. 주의할 점 - MST에 대해 알고 있어야 한다 - Float값으로 받아들인 후, 소수점 이하 2번째 자리까지 반올..