본문 바로가기
정글 2기/알고리즘

[백준_10869] 하, 기초(입출력), 사칙연산

by Dean30 2021. 8. 6.
728x90

[백준_10869] 하, 기초(입출력), 사칙연산

 

Q) 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.

A = list(map(int, input().split()))

 

처음에 그냥 A=7, B=3 값을 정해줘서 틀렸다.

핵심은 A, B 값은 받는 함수를 만들어야 한다.

파이썬에서 값을 입력 받기 위해서는 input() 함수를 쓴다.

입력값이 1개인 경우

 

A = input() #참고로 input('값을 입력하세요 :') 처럼 입력 가능
print(type(A))

 

입력 : 5, 출력 :str

 

input()함수의 출력값은  문자열(str)인 것을 알 수 있다. 그래서 사칙연산을 위해선 'int' 를 이용하여 숫자 type으로 변경이 필요하다.

(int는 정수형, float은 실수형이다)

 

A = int(input())
print(type(A))

입력 : 5, 출력 :int

 

입력값이 여러개인 경우

입력값을 여러개 받았을 경우 구분자가 공백이면 두 가지 방법이 있다.

 

1) 리스트로 출력

A = list(map(int, input().split()))
print(A)

입력 : 7 3 2, 출력 : [7, 3, 2] # list

 

split()은 입력값을 공백 단위(구분자)로 리스트에 담아 반환한다.(split(',')나 split('-')과 같이 구분자를 지정해줄 수 있다.)

모든 원소의 형 변환 (str->int)는 번거롭기 때문에 map()함수를 이용한다. map() 출력값을 다시 list로 만들어주기 위해 list()로 감싸준다.

 

map(함수, 리스트)

 

2) 개별 변수로 출력

A, B, C = list(map(int, input().split()))
print(A)
print(B)
print(C)

입력 : 7 3 2, 출력 7 3 2 (줄바꿈)

 

3) list comprehension 사용

a = [int(x) for x in input().split()]
print(a)

입력 : 1 2 3 4, 출력 [1, 2, 3, 4]

 

input()을 받고 공백을 기준으로 split 하여 ["1 2 3 4"] -> ["1", "2", "3", "4"]

나온 x 를 int(x)로 변환 [1, 2, 3, 4]

728x90

댓글