๋ฉ์น๋ฌธ์ ๋ ๋ฐฑ์ค์ 7568๋ฒ์ ๋ฌธ์ ๋ก ์์ ํ์๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์ ๋๋ค.
๐คท๐ปโโ๏ธ ์์ ํ์? ๊ทธ๊ฒ๋ญ๋ฐ? what?
๐ ์์ ํ์์ด๋? '๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ถ ์ฐพ์์ ๋ต์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ' ์ ๋ปํ๋ค. ์์ด๋ก๋ Exhaustive Search ๋ผ๊ณ ํ๋ค. ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ํด๋ณด๋ ๊ฒ์ด๋ค. ์๊ณ ๋ฆฌ์ฆ์ ํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ณ ํ์คํ ๋ฐฉ๋ฒ์ด์ง๋ง ๊ทธ๋งํผ ์๊ฐ์ด ๊ฐ์ฅ ์ค๋ ๊ฑธ๋ฆฌ๋ ํ์ ๊ธฐ๋ฒ์ด๋ค.
๋ฐฑ์ค ๋งํฌ ๊ฐ๊ธฐ
https://www.acmicpc.net/problem/7568
์์ ๊ฐ์ ๋ฌธ์ ์ด๋ค. Scanner๋ฅผ ์ด์ฉํด ์ ๋ ฅ๋ฐ์ ๋ค ํ์ด๋ฅผ ์งํํ์๋ค. ์ฒ์ ์ด๋ ค์์ ๋๋ ๋ถ๋ถ์ 2์ฐจ ๋ฐฐ์ด์ ๊น๋จน์ด์ .... ์๊ฐํ๋๋ฐ 10๋ถ์ ๋ ์ก์๋จน์ ๊ฒ ๊ฐ๋ค... ๋์ ๋จธ๋ฆฌ ๊ธ๋ถ์ด ๋จธ๋ฆฌ ๐ก
Scanner๋ฅผ ์ด์ฉํด์ ํ์ดํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
Scanner๋ฅผ ์ด์ฉํ ์ฝ๋ ๋ณด๊ธฐ ๐import java.io.IOException;
import java.util.Scanner;
public class ๋ฉ์น๋ฌธ์ _7568 {
public static void main(String[] args) throws NumberFormatException, IOException {
//์์ ํ์ ๋ฌธ์ (๋ฐฑ์ค-7568๋ฒ)
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Scanner sc = new Scanner(System.in);//scanner๋ฅผ์ด์ฉํ ๋ฌธ์ ํ์ด
int cnt = sc.nextInt();
int[][] person = new int[cnt][2];//cnt๊ฐ์๋งํผ ๋ฐฐ์ด ์์ฑ ๊ทธ ์์ ๋ฐฐ์ด์ ํค ๋ชธ๋ฌด๊ฒ = 2๊ฐ
int rank[] = new int[cnt];//๋ฑ์๋ฅผ ์
๋ ฅํ ๋ฐฐ์ด
for(int i=0;i<person.length;i++) {
person[i][0] = sc.nextInt();//๋ชธ๋ฌด๊ฒ
person[i][1] = sc.nextInt();//ํค
rank[i] = 1;//๋ฑ์๋ฅผ ์ ๋ถ 1๋ฑ์ด๋ผ๊ณ ์ ์ธ
}
for(int i=0;i<person.length;i++) {//๋น๊ตํ ๊ธฐ์ค์ด ๋๋ ๋ฒํธ
for(int j=0;j<person.length;j++) {//๋น๊ตํ ๋์์ด ๋๋ ๋ฒํธ
if(person[i][0] > person[j][0] && person[i][1] > person[j][1]) {
rank[j]++;
}
}
}
for(int i=0;i<person.length;i++) {
System.out.print(rank[i]+" ");
}
}
}
๊ทธ ๋ค์ 2์ค for๋ฌธ์ ๋๋ ค (Why๐คท๐ปโโ๏ธ? 2์ฐจ์ด ๋ฐฐ์ด์ด๋๊น~) ๋น๊ต ๊ธฐ์ค๊ณผ ๋์์ ๋น๊ต๋ฅผ ํด์ฃผ์๊ณ , ๋ง์ฝ ๋น๊ต๊ธฐ์ค์ด ๋์๋ณด๋ค ๋ชธ๋ฌด๊ฒ๋ ํค๊ฐ ๋ชจ๋ ํฌ๋ค๋ฉด ๋น๊ต ๋์์ rank++ํด์ฃผ์ด ๋ฑ์๊ฐ ๋ค๋ก ๋ฐ๋ฆฌ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
๋ฐฑ์ค ์ฒด์ ์ ๋ง์์ต๋๋ค!! ๋ฅผ ๋ณด๊ธด ํ์ง๋ง ์ ๋ถ ์์ฑํ๊ณ ๋ณด๋ Scanner๋ ๋งค์ฐ ๋นํจ์จ์ ์ธ ๊ฒ ๊ฐ์ ๋๋... ๊ทธ๋์ StringBuffer๋ฅผ ์ฌ์ฉํด์ ํด๋ดค์ง๋ง ๊ณ์ ๋ฐํ์์๋ฌ๊ฐ ๋ฌ๋ค. ์ ์ง ์ดํด๋ณด๊ณ StringBuffer๋ฅผ ์ด์ฉํด์ ๋ค์ ์์ฑํด๋ด์ผ๊ฒ ๋ค..ใ ใ ๋ค์ ๋์์ฌ๊ฒ์ฉ~
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class ๋ฉ์น๋ฌธ์ 2_7569 {
public static void main(String[] args) throws IOException {
//์์ ํ์ ๋ฌธ์ (๋ฐฑ์ค-7568๋ฒ)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
int[][] person = new int[cnt][2];//cnt๊ฐ์๋งํผ ๋ฐฐ์ด ์์ฑ ๊ทธ ์์ ๋ฐฐ์ด์ ํค ๋ชธ๋ฌด๊ฒ = 2๊ฐ
int rank[] = new int[cnt];//๋ฑ์๋ฅผ ์
๋ ฅํ ๋ฐฐ์ด
for(int i=0;i<person.length;i++) {
person[i][0] = Integer.parseInt(br.readLine());//๋ชธ๋ฌด๊ฒ
person[i][1] = Integer.parseInt(br.readLine());//ํค
rank[i] = 1;//๋ฑ์๋ฅผ ์ ๋ถ 1๋ฑ์ด๋ผ๊ณ ์ ์ธ
}
for(int i=0;i<person.length;i++) {//๋น๊ตํ ๊ธฐ์ค์ด ๋๋ ๋ฒํธ
for(int j=0;j<person.length;j++) {//๋น๊ตํ ๋์์ด ๋๋ ๋ฒํธ
if(person[i][0] > person[j][0] && person[i][1] > person[j][1]) {
rank[j]++;
}
}
}
for(int i=0;i<person.length;i++) {
System.out.print(rank[i]+" ");
}
}
}
๋ฐฑ์ค์ด ์ธ์ ์ ํด์ค์ผ ๋น๊ต๋ฅผ ํ๋๋ง๋ ํ์ง ใ ใ ๋น๊ต๋ ๋ชปํ๊ฒ ํด ๐ฅ ์๋ฌดํผ StringBuffer๋ก๋ ํ์๋ค..