일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 페이코 친구코드
- php 프로그래밍 입문 연습문제
- SWEA
- 페이코 추천인
- php 프로그래밍 입문 3판
- JAVA SPRING
- php 프로그래밍
- Flutter
- Java
- 최단 경로
- 한정 분기
- php 프로그래밍 입문 솔루션
- 스프링
- php 프로그래밍 입문 예제
- 자바 스프링
- C
- 자바
- programmers
- 페이코 초대코드
- 배열
- spring
- 백준
- php
- php 프로그래밍 입문 문제풀이
- C언어
- 플러터 개발환경 설정
- php 프로그래밍 입문
- 페이코 추천인코드
- 파이썬
- 플러터
- Today
- Total
ImJay
[파이썬/Python] 백준 2744번 대소문자 바꾸기 본문
[파이썬/Python] 백준 2744번 대소문자 바꾸기
2744번: 대소문자 바꾸기
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
코드
word = input()
for i in word:
if i >= "a" and i <= "z":
print(chr(ord(i)-32), end='')
else:
print(chr(ord(i)+32), end='')
풀이
1. input 메소드를 통해 영어 소문자와 대문자로 이루어진 단어를 입력받습니다.
word = input()
2. 반복문을 통해 대문자는 소문자로, 소문자는 대문자로 바꾸어줍니다.
for i in word:
if i >= "a" and i <= "z":
print(chr(ord(i)-32), end='')
else:
print(chr(ord(i)+32), end='')
2-1. for in 을 통해 해당 리스트의 인덱스를 참조할 수 있습니다.
인덱스의 처음부터 끝까지 명령문을 반복합니다.
for i in word:
2-2. 유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준입니다.
2-3. 파이썬의 ord 메서드는 하나의 문자를 유니코드 정수로 변환합니다.
ord(i)
i="A"라면, ord(i)는 정수 65를 반환합니다.
i="a"라면, ord(i)는 정수 97을 반환합니다.
2-4. 파이썬의 chr 메서드는 하나의 정수를 유니코드 문자로 변환합니다.
chr(i)
i=65라면, chr(i)는 문자 A를 반환합니다.
i=97이라면, chr(i)는 문자 a를 반환합니다.
2-5. 위 메서드들을 토대로 아래의 소문자를 대문자로 바꾸는 과정을 이해해봅니다.
if i >= "a" and i <= "z":
print(chr(ord(i)-32), end='')
1. i="a"라면, ord(i) = 97을 반환합니다.
2. 97 - 32 = 65 입니다.
3. chr(65) = "A"를 반환합니다.
나머지 알파벳 및 대문자 또한 위 알고리즘을 통해 변환됩니다.
마지막으로, end=''를 통해 출력조건을 만족하도록 주의합니다.
추가
위 방법 말고도 upper, lower 등의 메서드로 간단하게 대소문자 변환이 가능합니다.
유니코드(아스키코드)를 사용한 방법을 알려드리고자 작성하였습니다.
'Solved.ac - Python > Bronze V' 카테고리의 다른 글
[파이썬/Python] 백준 2754번 학점계산 (2) | 2022.09.14 |
---|---|
[파이썬/Python] 백준 2753번 윤년 (0) | 2022.09.13 |
[파이썬/Python] 백준 2743번 단어 길이 재기 (0) | 2022.09.05 |
[파이썬/Python] 백준 2741번 N 찍기 (0) | 2022.09.05 |
[파이썬/Python] 백준 2739번 구구단 (0) | 2022.08.31 |