반응형
풀이
1) 아스키코드와 ord 함수, chr 함수를 활용
※ ord(문자) 함수
파라미터로 받은 문자의 아스키 코드 번호를 반환한다.
※ chr(숫자) 함수
파라미터로 받은 숫자를 유니코드에 따라 해당하는 문자로 치환해준다.
아스키코드 표를 살펴보자. 영어 대문자는 65부터 90, 소문자는 97부터 122까지의 범위에 해당된다. 아스키 범위값과 if문을 사용, ord(문자)의 범위를 특정함으로써 문자의 대소문자 여부를 알 수 있다. 이후, 같은 알파벳의 대소문자가 32씩 차이가 난다는 점을 이용해 ord(문자)의 값을 바꿔준 뒤, chr 함수를 통해 다시 문자로 바꿔준다. 이 과정을 입력받은 문자열이 끝날 때까지 반복하면 된다.
2) 문자열.swapcase() 메소드를 이용
※ 문자열.swapcase() 메소드
문자열의 대소문자를 변환해주는 메소드
코드
1) 아스키 활용
import sys
input = sys.stdin.readline
word = input().strip()
for i in range(len(word)):
temp = ord(word[i])
if temp >= 65 and temp <= 90:
temp += 32
print(chr(temp), end = "")
continue
elif temp >= 97 and temp <= 122:
temp -= 32
print(chr(temp), end = "")
continue
2) swapcase 활용
import sys
input = sys.stdin.readline
word = input().strip()
print(word.swapcase())
반응형
'백준 (PYTHON) > Bronze' 카테고리의 다른 글
[PYTHON/Bronze V] 백준 2754번 학점계산 (0) | 2022.07.10 |
---|---|
[PYTHON/Bronze V] 백준 2753번 윤년 (0) | 2022.07.10 |
[PYTHON/Bronze V] 백준 2743번 단어 길이 재기 (0) | 2022.07.10 |
[PYTHON/Bronze V] 백준 2741번 N 찍기 (0) | 2022.07.09 |
[PYTHON/Bronze V] 백준 2739번 구구단 (0) | 2022.07.09 |