반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
문제는 링크를 통해서 직접 봐주시길 바랍니다.
주의해야 할 점
1. map, rstrip, split을 사용하는 입력 방식
이번 문제에서는 입력한 문자들에 ord 내장 함수를 사용하여 유니코드로 변경하는 방법을 사용했습니다.
readline을 사용하여 입력할 때는 마지막에 \n이 붙으므로, rstrip으로 \n을 떼어주고
공백으로 분리한 뒤, 각각 유니코드로 변경하고 변수에 저장했습니다.
이전에서 사용한 map, int나 float, split을 사용한 방법과 거의 같습니다.
unicode1, unicode2 = map(ord, sys.stdin.readline().split())
밑의 링크는 제가 포스팅한 ord, chr 내장 함수에 대한 설명입니다.
이번 문제를 풀 때 참고해보세요.
예제 설명
1. 첫 번째 예제
- 입력
d g
- 출력
d e f g
- 설명
입력한 시작 알파벳과 마지막 알파벳은 각각 d, g입니다.
d부터 g까지의 알파벳들인 d, e, f, g를 공백으로 구분해 출력합니다.
생각한 풀이 과정
시작 알파벳과 마지막 알파벳을 공백으로 구분해 입력합니다.
소문자만 입력되고, 시작 알파벳이 마지막 알파벳보다 사전순으로 더 앞에 있는 알파벳으로 입력됩니다.
두 알파벳을 입력하고 각 알파벳에 해당하는 유니코드를 ord 내장 함수로 구합니다.
시작 알파벳의 유니코드부터 마지막 알파벳의 유니코드까지 반복해봅니다.
현재 유니코드에 해당하는 알파벳을 chr 내장 함수로 구한 뒤, 출력하고, 다음 줄로 내리지 않고 한 칸만 띄어줍니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 시작 알파벳과 마지막 알파벳을 공백으로 구분해 입력합니다.
# 소문자만 입력되고, 사전순입니다.
# 입력한 알파벳들에 대한 유니코드를 구하고 각각 변수에 저장합니다.
alphabet1_unicode, alphabet2_unicode = map(ord, stdin.readline().rstrip().split())
# 시작 알파벳의 유니코드부터 마지막 알파벳의 유니코드까지 반복해봅니다.
for alphabet in range(alphabet1_unicode, alphabet2_unicode + 1):
# 현재 유니코드에 해당하는 알파벳을 출력하고, 다음 줄로 내리지 않고 한 칸만 띄어줍니다.
print(chr(alphabet), end=' ')
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
※ 공감 버튼❤과 구독 버튼도 잊지 말고 꾹 눌러주시면 감사하겠습니다~👍👍
반응형
댓글