# 3. APS/SWEA

SWEA # Python_D1_2047_신문 헤드라인 ✅

둥굴둥굴둥굴레차 2021. 2. 14. 21:56

 

 

🚥 [문제]

 

입력으로 주어진 문장에 모든 소문자 알파벳을 찾아 대문자로 변환한 다음, 그 결과를 출력하는 프로그램을 작성하라.

 

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

[input]
The_headline_is_the_text_indicating_the_nature_of_the_article_below_it.

[output]
THE_HEADLINE_IS_THE_TEXT_INDICATING_THE_NATURE_OF_THE_ARTICLE_BELOW_IT.
# input값은 str형식으로 가져온다.
T = input()
new_str = ''

# str의 길이만큼 for문을 돌려준다.
for i in range(len(T)):
	# 'a'와 'z'사이에 T가 존재한다면 아래를 실행
    if 'a' <= T[i] <= 'z':
        # ord : 문자의 아스키 코드 값을 돌려주는 함수
        # chr : 문자의 아스키 코드 값을 돌려주는 함수, ord함수의 반대.
        # 소문자 아스키 코드가 대문자 아스키 코드보다 정확히 32 더 높다.
        
        # 해당 문자를 아스키코드(숫자)로 바꾸어 32를 빼주면 대문자의 아스키코드를 가지게 된다.
        # 다시 문자열로 바꿔주기 위해 chr함수를 써준다.
        new_str += chr(ord(T[i])-32)
    else:
    	# '_'를 처리해 주기 위해 else 사용.
        # 그냥 더해준다.
        new_str += T[i]

print(new_str)


[다른풀이]

import sys
sys.stdin = open("input.txt")


sen = input()
new_sen=''
for i in sen:
	# 만약 소문자라면 32를 빼주어 대문자로 만들어 준다.
    if ord(i) >= 97 and ord(i) <=122:
        new_sen += chr(ord(i) - 32)
    # 만약 소문자가 아닌 대문자 혹은 _ 혹은 . 이라면 그냥 그대로 넣어준다.
    else:
        new_sen+=i

print(new_sen)

# print(ord('a')) # 97 ~ 122 소문자
# print(ord('z'))
# print(ord('A')) # 65 ~ 90 대문자
# print(ord('Z'))
# print(ord('_')) # 95
# print(ord('.')) # 46

 


 

🍦 [복습]

 

# 1. 210218

복습을 하다보니 조금 더 나은 방향으로 코드가 작성되는 것을 느낄 수 있다! 

기분이 좋다 o( ̄▽ ̄)d