[코딩테스트]/[Pandas]

[LeetCode - Pandas] 1667. Fix Names in a Table

잰잰' 2025. 4. 11. 16:37
Table: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| name           | varchar |
+----------------+---------+

user_id는 이 테이블의 기본 키(고유한 값을 가지는 열)입니다.
이 테이블은 사용자 ID와 이름을 포함하고 있습니다.
이름은 오직 소문자와 대문자로만 구성되어 있습니다.

 

문제

이름에서 첫 번째 문자만 대문자이고 나머지는 모두 소문자가 되도록 이름을 수정하는 해결 방법을 작성하세요.

결과 테이블은 user_id를 기준으로 정렬되어야 합니다.

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

Example 1:

Input: 
Users table:
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | aLice |
| 2       | bOB   |
+---------+-------+
Output: 
+---------+-------+
| user_id | name  |
+---------+-------+
| 1       | Alice |
| 2       | Bob   |
+---------+-------+

 

✏️ 풀이

import pandas as pd

def fix_names(users: pd.DataFrame) -> pd.DataFrame:
    users['name'] = users['name'].str.capitalize()

    return users

 

📚 개념정리

문자열 대문자로 변환 : .str.upper()

df['컬럼명'].str.upper()

 

문자열 서문자로 변환 : .str.lower()

df['컬럼명'].str.lower()

 

첫 글자만 대문자, 나머지는 소문자 : .str.capitalize()

df['컬럼명'].str.capitalize()

 

모두 소문자로 바꾸고 첫 글자만 따로 대문자로 바꿔야하나 했는데

첫 글자만 대문자, 나머지는 소문자로 변경해주는 유용한 메서드가 있었다