목록CodingTest (432)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btIHbP/btrWUIwahGy/97tKzxht3qrdtcA8efL54K/img.png)
👉 문제링크 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 🔸 문제 분석 🔸 T개의 테스트 케이스마다 결과를 출력한다. 국가의 수 n과 비행기의 종류 m을 입력 받는다. m개의 비행기 종류 마다 a, b 쌍을 입력 받는다. 주어지는 비행 스케줄은 항상 연결 그래프를 이룬다. 모든 국가를 여행할 때 가장 적은 종류의 비행기로 탄다면 몇 개의 종류인지 출력한다. [연결 그래프] 그래프 이론에서 연결 그래프(connected graph)는 모든 두 꼭짓점 사이에 경로가 존재하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cD27o2/btrWZVHnUTK/cDKE8xk99xuXEnWzPb8FHK/img.png)
👉 문제링크 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 🔸 문제 분석 🔸 n개의 정점 사이의 간선의 정보가 m개 입력된다. 연결된 노드의 묶음(연결 요소) 수를 출력한다. n개의 각 노드를 시작으로 BFS 혹은 DFS로 연결된 노드를 체크한다. 여기서는 BFS를 사용한다. BFS를 위해 큐와 visit 배열을 사용한다. visit 배열에 방문하지 않으면 0, 방문하면 묶음 번호를 저장한다. (0만 아니면 된다.) 묶음 수를 출력한다. 🔸 코드 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/o4h3T/btrWU6QaBiD/8GyofKJf4qb8RHV02kRyK1/img.png)
👉 문제링크 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 🔸 문제 분석 🔸 입력받은 n개의 수에서 전체 입력 중에 더 작은 값의 개수를 출력한다. 2차원 배열 arr[n][3]을 선언한다. 1번째는 입력 값, 2번째는 입력 순서, 3번째는 압축 값을 저장한다. 1번째 값 기준으로 오름차순 정렬한다. 3번째 값을 채운다 배열 앞에서 부터 더 작은 값은 0, 1, 2...로 커져간다. 같은 값이 연속되서 나오면 값을 키우지 않고 그대로 저장한다. 2번째 값 기준..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l4QnK/btrWReaz9t2/4Jft7DArHNLKoexKlVCCD1/img.png)
👉 문제링크 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 🔸 문제 분석 🔸 주어진 의사 코드로 병합 정렬을 구현한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { static int count, num; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextIn..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cRgUIc/btrWQ5jRYOq/cowvMU26QcA6hdXPnpBQN0/img.png)
👉 문제링크 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 문자열이 팰린드롬인지 판별한다. 주어진 메서드를 사용하는데, 그 중 recursion 메서드가 몇 번 사용 됐는지도 같이 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { private static int count; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int i = 0; ..