코딩 테스트

백준 1000, 1001, 1008 파이썬 풀이

이삼오 2024. 3. 17. 15:50

1000번 

문제 설명

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

첫째 줄에 A+B를 출력한다.

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

 

코드 풀이
input() 메서드를 통해 데이터를 입력받고 split() 메서드로 문자열 데이터를 A와 B로 분할해 반환한다.
map() 함수와 int를 사용해 문자열 A, B를 int type으로 변환시킨다.
print(A+B)로 두 정수를 더한 값을 출력한다.

 

input()

사용자가 데이터를 입력할 수 있게 한다. input은 사용자가 입력한 데이터를 문자열로 저장한다. 

 

str.split(sep=Nonemaxsplit=-1)

split() 메서드는 문자열을 delimiter(구분자) 기준으로 분할해 문자열의 단어들을 리스트로 반환한다.

분할된 각 부분이 리스트의 요소가 된다. 

delimiter는 space, tab, newline 등 공백 문자가 기본적이다. 

문자열 split의 경우 maxsplit이 -1이므로 분할 수에 제한이 없다. 

 

map(function, iterable)
map()은 iterable 객체의 모든 항목에 함수를 적용하여 결과를 산출하는 반복자를 반환하는 함수이다.

리스트에 map을 사용하면 요소를 지정된 함수로 처리할 수 있고, 원본 리스트 변경 없이 새 리스트를 생성한다. 
한 번에 하나씩 요소를 반환할 수 있고 반복적으로 함수를 처리하려 할 때 메모리를 절약할 수 있다. 

 

1001번 

 

문제 설명

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

 

입력

 

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

첫째 줄에 A-B를 출력한다.

 
a,b = map(int, input().split())
print(a-b)

 

코드 풀이
input() 메서드를 통해 데이터를 입력받고 split() 메서드로 문자열 데이터를 A와 B로 분할해 반환한다.
map() 함수와 int를 사용해 문자열 A, B를 int type으로 변환시킨다.
print(A-B)로 두 정수를 뺀 값을 출력한다.

 

1008번 

문제 설명

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

a, b = map(int, input().split())
print(a/b)

 

코드 풀이
input() 메서드를 통해 데이터를 입력받고 split() 메서드로 문자열 데이터를 A와 B로 분할해 반환한다.
map() 함수와 int를 사용해 문자열 A, B를 int type으로 변환시킨다.
print(A/B)로 두 정수를 나눈 값을 출력한다.

 

/, //, %

숫자형 데이터의 연산에서 나눗셈은 /로 표시한다.

나눈 값의 몫만 반환할 때는 //을, 나머지만 반환할 때는 %을 사용한다.