Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 4458번 - '첫 글자를 대문자로' (PYTHON 풀이) 본문
문제:

문장을 입력받고, 해당 문장의 맨 앞 글자를 대문자로 바꿔서 출력하는 문제이다.
풀이:
N = int(input())
for i in range(N):
sen = list(input())
sen[0] = sen[0].upper()
print(''.join(sen))
입력받을 횟수를 N에 입력받고 해당 수만큼 반복문을 돈다.
그리고 sen에 각 횟수만큼 문장을 입력받은 뒤, 문제에서 요구하는 바와 같이 첫번째 인덱스에 해당하는 값만 추출해서 upper() 함수를 활용해 대문자로 변환한다. 그리고 그 값을 다시 0번째 인덱스에 넣는다.
여기까지 진행하면 sen은 리스트 형태이므로, 만약 입력값이 hello라면 ['H','e','l','l','o'] 이렇게 된다.
이제 이 리스트를 출력 예제와 동일하게 바꾸어야 하므로, join 함수를 활용하여 출력한다. ''(공백없이) 각 sen 리스트에 해당하는 값을 붙이겠단 의미이다.
문제를 풀면서 주의해야할 점을 적어보겠다. 처음에 필자는 sen에 input() 이렇게 적었는데, 문자열 같은 경우 인덱싱은 가능하지만, 불변 객체로 수정이 불가능하다. 그래서 list 없이 적었다면 sen[0] = sen[0].upper() 에서 오류가 난다.(수정하는 코드이므로)
그래서 지원이 안된다는 오류 메세지를 보고 불변 객체인 것이 떠올라 list로 바꾼 뒤 수정하고 이를 다시 출력 형태에 맞게 조립해서 문제를 풀었다. str 이외에 불변 객체는 int, float, bool, tuple 있다.
'CODING 💻' 카테고리의 다른 글
| 백준 5524번 - '입실 관리' (PYTHON 풀이) (0) | 2026.03.04 |
|---|---|
| 백준 17496번 - '스타후르츠' (PYTHON 풀이) (0) | 2026.03.03 |
| 백준 10804번 - '카드 역배치' (PYTHON 풀이) (0) | 2026.03.01 |
| 백준 11945번 - '뜨거운 붕어빵' (PYTHON 풀이) (0) | 2026.02.28 |
| 백준 31403번 - 'A+B-C' (PYTHON 풀이) (0) | 2026.02.27 |
