업데이트:

문제 20

20.
1개의 문자열을 입력받아 그대로 출력해보자.

풀이

x = input()
print(x)

문제 22

22.
공백이 포함되어 있는 한 문장이 입력된다.
단, 입력되는 문장은 여러 개의 단어로 구성되고, 엔터로 끝난다.

풀이

x = input()
print(x)

문제 23

23.
실수 1개를 입력받아 정수 부분과 실수 부분으로 나누어 출력한다.

입력 : 1.435867
출력 :
1
435867

풀이

# 답
string = input().split('.')
print('''\
{}
{}
'''.format(string[0], string[1]))
# 나의 답
x = input().split('.')
print(x[0], x[1], sep='\n')

답이 틀리진 않았지만 format()을 이용하여 좀 더 직관적이게 코드를 짜는게 좋아보인다.

문제 24

24.
단어를 1개 입력받는다.
입력받은 단어(영어)의 각 문자를 한줄에 한 문자씩 분리해 출력한다.
(단, 단어의 문자(영어)를 하나씩 나누어 한 줄에 한 개씩 ‘ ‘로 묶어서 출력한다.)

입력 : ‘Boy’
출력 :
‘B’
‘o’
‘y’

TIP

str도 List와 동일하게 배열과 같은 형식으로 접근가능하다.

문자열도 리스트와 같이 iterable 객체이기 때문이다.

ex) ‘문자열’[0] » ‘문’

반복문 for()를 이용하여 문자열의 길이만큼 반복한다.

풀이

x = input()
for i in x:
    print("'{}'".format(i))

반복 범위를 range(len(x))로 설정하는 방법도 있다.
이렇게 했을 경우 출력은 print("'{}'".format(string[i]))로 해야된다.

문제 25

25.
다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력한다.

입력 : 75254
출력 :
[70000]
[5000]
[200]
[50]
[4]

TIP

문자열 연산이 가능함을 잊지 말자.

ex) ‘문자’*5 » ‘문자문자문자문자문자’

풀이

# 답
x = input()
count = len(x)-1
# 0의 개수는 문자열으 길이보다 하나 적다.
for i in x:
  print([int(x[i] + '0'*count)])
  # int()를 사용 안 할 경우 문자열로 출력이 된다. ex) ['1000']
  count -= 1
# 나의 답
x = input()
for i in range(5):
    print('[{}{}]'.format(x[i], '0' * (4 - i)))

틀린건 아니지만 내가 적은 답의 경우 5자리 숫자만 가능하다.

문제 26

26.
입력되는 시:분:초 에서 분만 출력해보자.

풀이

x = input().split(':')
print(x[1])

배열을 이용하지 않고 h, m, s로 나눠 받아 m만 출력하는 방법도 있다.

문제 27

27.
년월일을 출력하는 방법은 나라마다, 형식마다 조금씩 다르다.
년월일(yyyy.mm.dd)를 입력받아, 일월년(dd-mm-yyyy)로 출력해보자.
(단, 한 자리 일/월은 0을 붙여 두자리로 출력한다.)

TIP

조건문 if-else문을 파이썬의 3항 연산자(Chapter 10 참고) 기능을 이용하면 더 간단하게 작성할 수 있다.

이렇게 작성하는 것이 메모리 효율성면에서도 효과적이다. (18번 참고)

풀이

# 답 1
y, m, d = input().split('.')
m = '0'+m if len(m) == 1 else m
d = '0'+d if len(d) == 1 else d
print('{}-{}-{}'.format(d, m, y))
# 답 2
y, m, d = input().split('.')
m = len(m) == 1 and '0' + m or m
d = len(d) == 1 and '0' + d or d
print('{}-{}-{}'.format(d, m, y))
# 나의 답
y, m, d = input().split('.')
m = len(m) == 1? '0' + m : m
d = len(d) == 1? '0' + d : d
print('{}-{}-{}'.format(d, m, y))

세상에.. 파이썬의 삼항 연산자는 다른 언어와 다르다는 것을 기억하자..

Notice: 이 게시물은 우리밋_woorimIT님의 유튜브를 참고하였습니다.

댓글남기기