일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- java 객체지향 프로그래밍
- 싸피셜
- it 이슈
- 코딩테스트
- IT 트렌드
- html
- SSAFY
- 네트워크 관리사 2급
- KT
- 인앱결제
- it 뉴스
- 싸피
- 백준
- 카카오
- 네트워크 관리사 2급 실기
- 코테
- IT 동향
- 신문스크랩
- 네트워크 관리사
- 리얼클래스
- 구글
- 코딩테스트 연습
- SSAFYcial
- 백준위
- SSAFY 7기
- python
- 프로그래머스
- 우테코
- 신문 스크랩
- Java
Archives
- Today
- Total
개발자일걸요..?
7568번 덩치 본문
728x90
반응형
문제 링크 : www.acmicpc.net/problem/7568
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
처음에는 이중 for문을 돌며 하나씩 비교해가며 덩치비교를 할 수 없는 사람(undefined)을 세고 rank를 적고, 또 rank에 undefined값을 더하는 방법을 사용하려고 했다. 그러나 그 과정은 입력받은 값들은 몸무게별, 혹은 키별로 순서대로 정렬해야 활용이 쉬운 방법이었다.
그래서 google을 통해 얻은 아이디어가 바로 이중 for문을 이용해서 list의 행별로 자신보다 큰 덩치의 사람(몸무게도 더나가고 키도 더 큰 사람)이 몇이나 되는가를 확인하는 것이었다. 다만 이값의 경우 자신보다 큰 사람의 수이기 때문에 rank를 세기 위해서는 모든 값에 1씩 더해야한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[][] list = new int[N][3];
boolean[] blist = new boolean[N];
for(int i = 0; i<N;i++) {
//몸무게
list[i][0] = sc.nextInt();
//키
list[i][1] = sc.nextInt();
}
for(int i=0; i<N;i++) {
for(int j=0; j<N;j++) {
if(list[i][0]>list[j][0] && list[i][1]>list[j][1]) {
list[j][2]++;
}
}
}
for(int i =0;i<N;i++) {
System.out.print(list[i][2]+1);
System.out.print(" ");
}
}
}
+) 참고로 백준위에 java11으로 코드를 제출할 경우 class명은 Main으로 설정해야하고 패키지는 지정해선 안된다.
반응형
'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글
2750번 수 정렬하기 (0) | 2021.02.02 |
---|---|
1018번 체스판 다시 칠하기 (0) | 2021.02.02 |
1436번 영화 감독 숌 (0) | 2021.02.01 |
2231번 분해합 (0) | 2021.01.31 |
2798번 블랙잭 (0) | 2021.01.31 |
Comments