728x90
- 문제
https://www.acmicpc.net/problem/7568
- 풀이법 ( 알고리즘 )
각 사람의 덩치 등수는 자신보다 더 큰 덩치의 사람의 수 + 1이다. 또한 A보다 B의 키와 몸무게가 둘 다 커야 덩치가 크다고 말할 수 있다. 이를 반복문을 통해 구현하는 문제이다.
- 풀이 - C++( C )
더보기
#include <iostream>
using namespace std;
int n; // n : 전체 사람의 수
int weight[51], height[51]; // weight[x] : (x - 1)번째 사람의 몸무게 , height[x] : (x - 1)번째 사람의 키
int main(void)
{
cin >> n;
for (int i = 0; i < n; i++)
cin >> weight[i] >> height[i];
for (int i = 0; i < n; i++)
{
int cnt = 0;
for (int j = 0; j < n; j++)
{
if (weight[i] < weight[j] && height[i] < height[j]) cnt++; // 자신보다 키와 몸무게 모두 크다면
}
cout << cnt + 1 << " ";
}
return 0;
}
- 풀이 - JAVA
더보기
import java.util.Scanner;
public class Main {
static int[] w = new int[51]; //몸무게 저장
static int[] h = new int[51]; // 키 저장
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 0; i < n; i++)
{
w[i] = sc.nextInt();
h[i] = sc.nextInt();
}
for(int i = 0; i < n; i++)
{
int cnt = 0;
for(int j = 0; j < n; j++)
if(w[i] < w[j] && h[i] < h[j])cnt++;
System.out.println(cnt+1);
}
}
}
- 풀이 - PYTHON
더보기
n = int(input())
st_list = []
for _ in range(n):
weight, height = map(int, input().split())
st_list.append((weight,height))
for i in st_list:
cnt = 0
for j in st_list:
if i[0] < j[0] and i[1] < j[1]:
cnt += 1
print(cnt+1, end = " ")
728x90
'PS > 백준' 카테고리의 다른 글
[ 백준 ] 1931번 : 회의실 배정 - ( C++/C , JAVA/자바, PYTHON/파이썬 ) (0) | 2022.02.25 |
---|---|
[ 백준 ] 2581번 : 소수 - ( C++/C , JAVA/자바, PYTHON/파이썬 ) (0) | 2022.02.25 |
[ 백준 ] 2302번 : 극장 좌석 - (c++/c, java/자바, python/파이썬) (0) | 2022.02.17 |
[ 백준 ] 1904번 : 01타일 - (c++/c, java/자바, python/파이썬) (0) | 2022.02.17 |
[ 백준 ] 7576번 : 토마토 - (c++/c, java/자바, python/파이썬) (0) | 2022.02.14 |