[Python] 대소문자 바꿔서 출력하기
나의 처음 풀이
str = input()
lower = [i.upper() if i.islower() else i.lower() for i in str]
print(''.join(lower))
upper, lower, join에 대한 함수를 알고 있었기 때문에 무리 없이 풀이했다고 생각했다.
테스트 결과
그러나 다른 사람의 풀이에서 쇼킹한 답을 발견했다.
다른 사람의 풀이
str = input()
print(str.swapcase())
이런 내장함수가 있었다니.. 쇼킹하다..
테스트 결과
확실히 내장함수 최적화가 잘 되어있는지 더 빠르다. (미묘한 차이지만..)
나중에 응용해볼만도 하다. 근데 심사위원이 이를 좋게 볼지는 모르겠다. 이 함수를 왜 썼냐고 물어본다면 효율성 측면에서 장점이 있어서 썼다는 식으로 이야기 해야할 것 같다.
* 문제 출처 프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/181949
'Python' 카테고리의 다른 글
[Python/코테공부] 코드 처리하기 (0) | 2023.10.31 |
---|---|
[Python/코테연습] 더 크게 합치기 (0) | 2023.10.30 |
[Python] Pycharm에서 작성한 GUI를 바탕화면 아이콘 클릭으로 실행되게 하기 / .bat파일 메모장 작성법 (0) | 2023.10.18 |
[Python] 파일 읽어오기 / 줄바꿈 문자(\ln) 없이 라인 별로 읽어오기 (0) | 2023.08.17 |
[Python] 이미지에서 원하는 영역을 이진 이미지(binary mask)로 가져오기 (0) | 2023.07.31 |