https://www.acmicpc.net/problem/10431
10431๋ฒ: ์ค์ธ์ฐ๊ธฐ
์ด๋ฑํ๊ต ์ ์๋ ๊ฐ์ฐ์ด๋ ์์ด๋ค์ ๋ฐ๋ฆฌ๊ณ ๋จ์ฒด๋ก ์ด๋ค ์ผ์ ํ ๋ ๋ถํธํจ์ด ์๋๋ก ์๋ก ๋ฐ์ ๋ฐฐ์ ๋ฐ์ ์์ด๋ค์๊ฒ ํค ์์๋๋ก ๋ฒํธ๋ฅผ ๋ถ์ฌํ๋ค. ๋ฒํธ๋ฅผ ๋ถ์ฌํ ๋ ํค๊ฐ ๊ฐ์ฅ ์์ ์์ด๊ฐ 1
www.acmicpc.net
import java.util.Scanner;
class Main{
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
int n = 20;
for(int tc = 0; tc<T; tc++){
int tcNum = sc.nextInt();
int[] input = new int[n];
int fallBack = 0;
input[0] = sc.nextInt(); // ์ฒซ ๊ฐ์ ๊ทธ๋๋ก ๋ค์ด๊ฐ
for(int i=1; i<n;i++){
input[i] = sc.nextInt();
for(int j=0; j<i; j++){
if(input[j] > input[i]){
for(int k=i; k>j; k--){
input[k] = input[k-1];
fallBack++;
}
input[j] = input[i];
}
}
}
System.out.println(tcNum+" "+ fallBack);
}
sc.close();
}
}
์ค๋ต๋ ธํธ(ํธ๋ ๋์ ์ฌ๊ณ ๊ณผ์ ๋ฐ ๊ฐ์ ์ )
์ฝ์ ์ ๋ ฌ์ ์๊ฐํ๋ฉด์ ํ์๋ค. ์ฝ์ ์, ์ด์ ๋ฐฐ์ด์ ์ฒ์๋ถํฐ ํ๋ฐํด ๋๋ฉด์ ์์ ๊ฑธ ๋ฐ๊ฒฌํ์๋, ๊ทธ ์ง์ ๋ถํฐ ํ๋์ฉ ๋ฐ๊ณ ๊ทธ ์๋ฆฌ์ ๋ฃ๋ ๋ฐฉ์์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด 25%์์ ํ๋ ธ์ต๋๋ค๊ฐ ๋์จ๋ค. ์๊ฐ์ด๊ณผ๊ฐ ์๋๋ผ์ ๋ณต์ก๋์ ๊ฑธ๋ฆฌ๋ ๊ฑด ์๋ ๊ฒ ๊ฐ์๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ์ดํด๋ณด์.
์ ๋ต์ฝ๋
import java.io.FileInputStream;
import java.util.Scanner;
class Main{
public static void main(String[] args) throws Exception{
System.setIn(new FileInputStream("res/input.txt"));
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
int n = 20;
for(int tc = 0; tc<T; tc++){
int tcNum = sc.nextInt();
int[] input = new int[n];
int fallBack = 0;
input[0] = sc.nextInt();
for(int i=1; i<n;i++){
input[i] = sc.nextInt();
for(int j=i; j>0; j--){
if(input[j-1]>input[j]){
int tmpJ = input[j-1];
input[j-1] = input[j];
input[j] = tmpJ;
fallBack++;
}
}
}
System.out.println(tcNum+" "+ fallBack);
}
sc.close();
}
}
ํ๋ ๋ฐฉ์์ ๋ฐ๊ฟ๋ดค๋ค.
์ด์ ๋ฐฉ์์ด
- ์์์ ๋ถํฐ ํ์ฌ ์ฝ์ ๊ฐ๋ณด๋ค ํฐ ๊ฒ ์ฐพ๊ธฐ
- ์ฐพ์์ผ๋ฉด ๊ทธ ์์น๋ถํฐ ๋ค๋ก ์ญ ํ ์นธ ์ฉ ๋ฐ๊ธฐ
- ํด๋น ์์น์ ๊ฐ ์ฝ์
์ด๋ผ์ 3์ค ํฌ๋ฌธ์ด ๋๋๋ฐ, ์์ ์ฝ์ ์ ๋งจ ๋ค์์ ๋ถํฐ ๊ณ ๋ คํ๋ฉด swap๋ ๋๋ฅผ fallback ํ๋๋ก ์น๋ฉด ๋๋ค.
์๊ฐ ๋ณต์ก๋๋ ์ค๊ณ , ์ ๋ฌ๋ ์ง ๋ชจ๋ฅผ ์ค๋ต๋ ๊ฑธ๋ฌ๋ผ ์ ์์๋ค.
๋์์ด ๋๋ค๋ฉด ๋๊ธ์ด๋ ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์! ๋ก๊ทธ์ธ ์ํด๋ ๋ฉ๋๋ค ^_^
'OJ๐ผ > ์ค๋ต๋ ธํธ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][JAVA] 1920: ์ ์ฐพ๊ธฐ (0) | 2024.01.07 |
---|---|
[BOJ][JAVA] 3085: ์ฌํ ๊ฒ์ (0) | 2024.01.06 |
[SWEA][JAVA] 1954. ๋ฌํฝ์ด ์ซ์ (0) | 2023.11.15 |
[SWEA][JAVA] 1970. ์ฌ์ด ๊ฑฐ์ค๋ฆ๋(D2์์ ๋ฐ์ํ ์๊ฐ์ด๊ณผ) (0) | 2023.11.14 |
[SWEA][JAVA] ์ด์ฌ์์ ํ๋ฌธ ๊ฒ์ฌ (0) | 2023.11.05 |