Iriton's log
[Python/Baekjoon] 10430번: 나머지 본문
문제
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
출력
첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
풀이
A, B, C를 한 줄에 입력받으니 공백을 기준으로 나눠서 변수에 저장해야 한다.
이때, map(), input(), split() 을 사용할 것이다.
map(function, iterable)
: *iterable 객체(list, dict, set, str, bytes, tuple, range)에 fuction을 적용시키는 함수이다.
*iterable: 반복 가능한 객체. 즉, member를 순차적으로 반환할 수 있는 객체이다.
iterator: 반복 가능한 객체를 반복하는 데 사용하는 객체
모든 iterator은 iterable이지만, 모든 iterable은 iterator이 아니다.
input()
: 사용자가 입력한 값을 변수에 저장하는 함수이다.
괄호 안에는 변수를 입력받을 때 띄울 "문자열"을 넣는다.
문자열.split(sep='구분자', maxsplit=분할횟수)
: 문자열을 원하는 구분자를 기준으로 잘라서 리스트로 저장하는 함수이다.
필요에 의해 아래와 같이 변형하여 이용해도 된다.
문자열.split()
문자열.split('구분자')
문자열.split('구분자', 분할횟수)
문자열.split(sep='구분자', maxsplit=분할횟수)
다시 문제 풀이로 돌아와서, 위의 세 함수로 어떻게 문제를 풀 수 있는지 살펴 보자.
변수 a, b, c에,
공백을 기준으로,
입력된 정수를 쪼개어서,
저장해야 한다.
코드로 바꾸면 아래와 같다.
최종 코드
#input한 값을 공백을 기준으로 split하고 리스트에 저장한 후 int형으로 바꾸어 변수에 저장한다.
A,B,C = map(int, input().split())
print((A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C, sep='\n') #sep='\n'은 줄바꿈을 한다.
'Problem Solving > Python' 카테고리의 다른 글
[python/BOJ] 14501번: 퇴사 (0) | 2023.10.04 |
---|---|
[Python/BOJ] 13164번: 행복 유치원 (0) | 2023.09.20 |
[Python/Baekjoon] 10811번: 바구니 뒤집기 (0) | 2023.04.11 |
[Python/Baekjoon] 11758번: CCW (0) | 2023.04.10 |
[Python/Baekjoon] 11399번: ATM (0) | 2023.04.10 |