반응형
분류: 브루트포스
▶문제
▶코드1
//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class p7568 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
int number = Integer.parseInt(br.readLine());
int[][] arr = new int[number][3];
for(int i=0; i<number; i++) { //배열에 넣고 arr[][2]자리엔 등수를 넣을 거임
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
arr[i][2] = 1;
}
for(int i=0; i<number; i++) {
for(int j=0; j<number; j++) {
if(i==j) continue;
if(arr[i][0]>arr[j][0] && arr[i][1]>arr[j][1]) arr[j][2] += 1; //등수를 더해서 내림..
}
}
for(int i=0; i<number; i++) {
bw.write(arr[i][2]+"\n");
}
bw.flush();
}catch (Exception e) {e.printStackTrace();}
}
}
▶처음에 한 방법 : (첫번째 코드) 각 케이스를 배열에 넣는데 세번째에는 각 등수를 저장해서 나중에 등수만 쫘라락 출력함.
▶코드1
package bruteForce;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class p7568 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
try {
int number = Integer.parseInt(br.readLine());
int[][] arr = new int[number][2];
for(int i=0; i<number; i++) { //배열에 넣고 arr[][2]자리엔 등수를 넣을 거임--수정됨: rank로 바로바로 출력하기로함
st = new StringTokenizer(br.readLine(), " ");
arr[i][0] = Integer.parseInt(st.nextToken());
arr[i][1] = Integer.parseInt(st.nextToken());
}
for(int i=0; i<number; i++) {
int rank=1;
for(int j=0; j<number; j++) {
if(i==j) continue;
if(arr[i][0]<arr[j][0] && arr[i][1]<arr[j][1]) rank += 1; //비교할 것보다 작으면 i의 rank에 +1하기
}
bw.write(rank+"\n");
}
bw.flush();
}catch (Exception e) {e.printStackTrace();}
}
}
▶두번째 한 방법 : (두번째 코드) 각각의 등수를 저장해두지 않고 바로바로 rank로 출력
채점결과
링크 www.acmicpc.net/problem/7568
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
반응형
'백준알고리즘' 카테고리의 다른 글
백준알고리즘:p2908 상수 (0) | 2021.03.08 |
---|---|
백준알고리즘:p1436 영화감독 숌 (0) | 2021.03.07 |
백준알고리즘:p2231 분해합 (0) | 2021.03.03 |
백준알고리즘:p2798 블랙잭 (0) | 2021.03.02 |
백준알고리즘:p1152 단어의 개수 (0) | 2021.02.24 |
댓글