업데이트:

문제 10

10.
정수형(int)으로 변수를 선언하고, 변수에 정수값을 저장한 후 변수에 저장되어 있는 값을 그대로 출력해보자.

풀이

# 답
x = int(input())
print(x)
# 나의 답
var x = 2
print(x)

아.. 스위프트랑 파이썬이랑 섞어버린 답을 적어버렸다.
파이썬에서는 var이나 let이 필요없다는걸 기억하자.

문제 11

11.
문자형(char)으로 변수를 하나 선언하고, 변수에 문자를 저장한 후 변수에 저장되어 있는 문자를 그대로 출력해보자.

TIP

input()의 반환값은 기본으로 문자열로 정의된다.

풀이

x = input() # 기본으로 문자열로 반환되므로 str()을 안써주어도 된다.
print(x)

문제 12

12.
실수형(float)로 변수를 선언하고 그 변수에 실수값을 저장한 후 저장되어 있는 실수값을 출력해보자.

풀이

x = float(input())

실수형으로 변환할 때는 float()을 사용한다.

문제 13

13.
정수(int) 2개를 입력받아 그대로 출력해보자.
(단, 띄어쓰기를 기준으로 입력한다.)
입력 : 1 5
출력 : 1 5

TIP

문자열의 메소드(함수)인 split()을 이용하면 문자열을 공백 기준으로 배열(iterable)로 만들어준다.

매핑함수인 map()을 이용하면 배열(iterable)의 모든 원소를 첫 번째 매개변수(parameter)로 변환할 수 있다. 정확히는 감싸준다는 표현이 맞다.

ex ) map(int, ['1', '2', '3']) >> [1,2,3]

매핑함수 map()의 반환값은 map객체이다. 따라서 육안으로 확인하기 위해서는 list()로 변환시켜줘야한다.

풀이

# 답
var = list(map(int, input().split()))
print(var[0], var[1])
# 또는 print(*var)로 하는 방법도 있다.
# 나의 답
x, y = map(int, input().split())
print(x, y)

내가 적은 답도 틀린건 아니지만, 배열을 이용해 저장하고 출력할 수도 있다고 한다.

문제 14

14.
2개의 문자(ASCII CODE)를 입력받아서 순서를 바꿔 출력해보자.

아스키 코드란

컴퓨터가 문자를 읽을 수 있도록 문자에 대응하는 숫자들이 존재한다.

ex ) A => 1100001

이때의 문자가 ‘아스키 문자’이며, 숫자가 ‘아스키 코드’이다.

풀이

# 답
x = input().split()
print(x[1], x[0])
# 나의 답
x = list(input().split())
print(x[1], x[0])

13번에서 알게 된 배열을 적용해보았다.
map()을 이용하지 않으므로 list()를 사용할 필요는 없다.

문제 15

15.
실수(float) 1개를 입력받아 저장한 후, 저장되어 있는 값을 소수점 셋 째 자리에서 반올림하여 소수점 이하 둘 째 자리까지 출력하시오.

TIP

반올림 함수 round()를 이용하면 된다.

풀이

# 방법 1
x = float(input())
print(round(x), 2)
# 방법 2
x = round(float(input()), 2)
print(x)

round([실수], [자릿수])형이라는 것을 기억하자.

문제 16

16.
int형 정수 1개를 입력받아 공백을 사이에 두고 3번 출력해보자.

풀이

x = int(input())
print(x, x, x)

문제 17

17.
어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자.
콜론(:) 기호를 기준으로 두 수가 각 변수에 저장된다.

입력 : 3:15
출력 : 3:15

TIP

split()의 매개변수로 문자열을 분할하기 위한 기준을 정의할 수 있다. 문자열의 메소드(함수)인 format()을 이용하면 문자열 내부에 변수값을 대입할 수 있다.

풀이

# 답
h, m = input().split(':')
print('{}:{}'.format(h, m))
# 나의 답
h, m = input().split(':')
print(h + ':' + m)

중괄호{}에 각각 h와 m이 대입이 되어 출력이 된다.
C언어에서 %d와 비슷한 역할을 하는 것 같다.
알아보니 파이썬에서도 print('%s:%s' % (h, m))로 출력이 가능하다고 한다.

문제 18

18.
년, 월, 일을 입력받아 지정된 형식으로 출력하는 연습을 해보자.

입력
연, 월, 일이 “.(닷)”으로 구분되어 입력된다.
출력
입력받은 연, 월, 일을 yyyy.mm.dd 형식으로 출력한다.

입력 : 2020.2.9
출력 : 2020.02.09
(단, m 혹은 d가 한 자리 수인 경우 앞에 0을 붙여 출력한다.)

풀이

y, m, d = input().split('.')
if len(m) == 1:
    m = '0' + m
if len(d) == 1:
    d = '0' + d
print('{}.{}.{}'.format(y, m, d))

len()으로 문자열의 길이를 확인한 후 문자열에 ‘0’을 추가해야한다.

문제 19

19.
주민번호는 다음과 같이 구성된다.

XXXXXX-XXXXXXX

앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코드이다.
주민번호를 입력받아 형태를 바꿔 출력해보자.

입력
주민번호 앞 6자리와 뒷 7자리가 ‘-‘로 구분되어 입력된다.
(입력값은 가상의 주민번호이다.)
ex)110011-0000000
출력
‘-‘를 제외한 주민번호 13자리를 모두 붙여 출력한다.

입력 : 000907-1121112
출력 : 0009071121112

풀이

x, y = input().split('-')
print(x+y)

print('{}{}'.format(a,b)) 처럼 format()을 사용하는 방법도 있다.

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

댓글남기기