오른쪽에서 조여오는 squeezer를 두는데,
우선 1~V를 다 돌아야 하므로, sq는 0부터 시작한다
그리고 일반 tp는 전체에서 sq만큼 뺀 경계선 느낌으로 할당하면 된다
모든 노드들이 한번에 정렬되지는 않지만, 제일 큰 노드는 있어야 할 곳으로 배치된다 (오른쪽으로 보낼만 하면 보내고 / 그것보다 더 큰게 있으면 가만히 놔둔다)
가만히 놔두면서 새로운 큰 것이 나타나면, 그것을 오른쪽으로 보낸다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// ISc
Scanner sc = new Scanner(System.in);
int V = sc.nextInt();
// D2F
int[] TP = new int[V+1];
for (int i = 1; i<= V; i++) {
TP[i] = sc.nextInt();
}
// OP
for (int sq = 0; sq < V-1; sq++) {
for (int i = 1; i < V-sq; i++) {
if (TP[i] > TP[i+1]) {
int cont = TP[i];
TP[i] = TP[i+1];
TP[i+1] = cont;
}
}
}
// OEC
for (int i = 1; i <= V; i++) {
System.out.println(TP[i]);
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// ISC - L1
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// L2 ~
int[] A = new int[N];
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
// Operating Bubble-Sort
for (int i = 0; i < N-1; i++) {
for (int j = 0; j < N-i-1; j++) {
if (A[j] > A[j + 1]) {
int cont = A[j];
A[j] = A[j+1];
A[j+1] = cont;
}
}
}
// OEC
for (int i = 0; i < N; i++) {
System.out.print(A[i] + " ");
}
}
}
'Hard deck > reindexing d2' 카테고리의 다른 글
023 : DFS = connected component (1) | 2023.06.23 |
---|---|
025 : DFS 친구관계 파악하기 (0) | 2023.06.23 |
028 : 트리의 지름 구하기 (0) | 2023.06.23 |
010 : Deque + Sliding Window (0) | 2023.06.22 |
012 : Stack으로 오큰수 구하기 (0) | 2023.06.21 |