Search

[기초트레이닝]DAY01_181949.대소문자 바꿔서 출력하기

Publish Date
2025/01/06
Category
Status
In progress
1 more property
문자열의 대소문자를 변환하는 문제
Table of Content

문제

구현

# 입력받기 text = input() # 방법 1: swapcase() 메서드 def swap_case(s): return s.swapcase() # 방법 2: for 루프 사용 def convert_case(s): result = "" for char in s: if char.isupper(): result += char.lower() else: result += char.upper() return result # 방법 3: 리스트 컴프리헨션 활용 def list_comprehension_case(s): return ''.join([char.lower() if char.isupper() else char.upper() for char in s]) # 방법 4: map() 함수 활용 def map_case(s): return ''.join(map(lambda char: char.lower() if char.isupper() else char.upper(), s)) # 실행 결과 print(swap_case(text)) print(convert_case(text)) print(list_comprehension_case(text)) print(map_case(text))
Python
복사

보충설명

1. swapcase() 메서드

특징: 문자열의 대소문자를 자동으로 변환하는 Python 내장 메서드
장점: 가장 간단하고 직관적인 방법
text = "Hello World" print(text.swapcase()) # 출력: hELLO wORLD
Python
복사

2. for 루프를 사용한 변환

특징: 각 문자를 순회하면서 대문자는 소문자로, 소문자는 대문자로 변환
장점: 디버깅이나 추가 조건을 설정할 때 유용
text = "Hello World" result = "" for char in text: if char.isupper(): result += char.lower() else: result += char.upper() print(result) # 출력: hELLO wORLD
Python
복사

3. 리스트 컴프리헨션

특징: 조건부 리스트 컴프리헨션으로 문자열 변환
장점: 코드가 간결하고 파이썬스럽게 작성 가능
text = "Hello World" result = ''.join([char.lower() if char.isupper() else char.upper() for char in text]) print(result) # 출력: hELLO wORLD
Python
복사

4. map() 함수 활용

특징: map()으로 문자열의 각 문자를 변환하는 함수를 적용
장점: 대규모 데이터에 효율적으로 처리 가능
text = "Hello World" result = ''.join(map(lambda char: char.lower() if char.isupper() else char.upper(), text)) print(result) # 출력: hELLO wORLD
Python
복사

출력 방식 비교

방법
장점
단점
추천 상황
swapcase()
간단하고 효율적
추가 조건 처리 불가능
기본 대소문자 변환
for 루프
디버깅과 조건 추가 가능
코드가 길어질 수 있음
변환 과정을 명확히 하고 싶을 때
리스트 컴프리헨션
간결하고 가독성이 좋음
리스트 생성 비용 발생
조건 추가와 간결성 모두 필요할 때
map()
간결하고 대규모 데이터 처리에 적합
코드가 복잡해질 수 있음
간결함과 성능이 필요한 경우

추천 방식

1.
간단한 대소문자 변환: swapcase() 사용
2.
디버깅이 필요한 경우: for 루프 활용
3.
조건이 추가된 변환: 리스트 컴프리헨션
4.
대규모 데이터 처리: map() 사용
Search
Main PageCategoryTagskkogggokkAbout MeContact