[코딩테스트]/[Pandas]

[LeetCode - Pandas] (Easy) 595. Big Countries

잰잰' 2025. 4. 29. 16:27
Table: World

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| name        | varchar |
| continent   | varchar |
| area        | int     |
| population  | int     |
| gdp         | bigint  |
+-------------+---------+

name은 이 테이블의 기본 키입니다 (고유한 값을 가지는 열).
이 테이블의 각 행은 나라의 이름, 속한 대륙, 면적, 인구, 그리고 GDP 값에 대한 정보를 제공합니다.

 

문제

국가가 크다고 판단되는 기준은 다음과 같습니다:

- 면적이 최소 3백만(즉, 3000000 km²) 이상이거나

- 인구가 최소 2천5백만(즉, 25000000) 이상일 경우

큰 나라들의 이름, 인구, 면적을 찾는 해결책을 작성하세요.

결과 테이블은 아무 순서로 반환해도 됩니다.

결과 형식은 다음 예시와 같습니다.

Example 1:

Input: 
World table:
+-------------+-----------+---------+------------+--------------+
| name        | continent | area    | population | gdp          |
+-------------+-----------+---------+------------+--------------+
| Afghanistan | Asia      | 652230  | 25500100   | 20343000000  |
| Albania     | Europe    | 28748   | 2831741    | 12960000000  |
| Algeria     | Africa    | 2381741 | 37100000   | 188681000000 |
| Andorra     | Europe    | 468     | 78115      | 3712000000   |
| Angola      | Africa    | 1246700 | 20609294   | 100990000000 |
+-------------+-----------+---------+------------+--------------+
Output: 
+-------------+------------+---------+
| name        | population | area    |
+-------------+------------+---------+
| Afghanistan | 25500100   | 652230  |
| Algeria     | 37100000   | 2381741 |
+-------------+------------+---------+

 

✏️ 풀이

import pandas as pd

def big_countries(world: pd.DataFrame) -> pd.DataFrame:
    return world[(world['area'] >= 3000000) | (world['population'] >= 25000000)][['name', 'population', 'area']]