(파이썬) 백준 10718/10171/10172/1000/10869/10430/2588
12 Mar 2020 | baekjoonctrl + f 또는 command + f 를 누르면 원하시는 문제의 번호를 찾을 수 있습니다.
입출력과 사칙연산 단계
[10718] We love kriii
문제
본 문제는 입력이 없다.
두 줄에 걸쳐 “강한친구 대한육군”을 한 줄에 한 번씩 출력한다.
정답
print("강한친구 대한육군\n" *2)
[10171] 고양이
문제
아래 예제와 같이 고양이를 출력하시오.
예제
\ /\
) ( ‘)
( / )
(__)|
정답
print("\ /\\")
print(" ) ( ')")
print("( / )")
print(" \\(__)|")
[10172] 개
문제
아래 예제와 같이 개를 출력하시오.
예제
|_/|
|q p| /}
( 0 )”””\
|”^”` |
||_/=\__|
정답
print("|\\_/|")
print("|q p| /}")
print("( 0 )\"\"\"\\")
print("|\"^\"` |")
print("||_/=\\\\__|")
[1000] A+B
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
첫째 줄에 A+B를 출력한다.
예제 입력
1 2
예제 출력
3
정답
a,b = input().split()
print(int(a)+int(b))
여기서 주의해야 할 점은 입력 시 주어진 조건이 첫째 줄에 A와 B가 주어진다는 것입니다. a와 b를 입력받을 때 따로 입력 받아도 코드 상의 문제는 없지만 1000번 문제에서 원하는 조건을 충족하지 못하기 때문에 런타임 에러가 발생합니다. 그래서 a와 b를 동시에 받고, split()함수를 이용해 입력받은 두 수를 나누어줘야 합니다.
split함수를 사용하게되면 문자열을 공백을 기준으로 잘라서 저장하므로, 변수 a와 b에는 각각의 입력값이 저장됩니다. 변수 a와 b는 문자형 자료형으로 저장되어있기 때문에 연산처리를 해주기 위해서는 정수형 자료형으로 변환해야합니다.
[10869] 사칙연산
문제
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
입력
두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)
출력
첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
예제 입력
7 3
예제 출력
10
4
21
2
1
정답
a,b = input().split()
a = int(a)
b = int(b)
print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)
[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를 출력한다.
예제 입력
5 8 4
예제 출력
1
1
0
0
정답
a,b,c = input().split()
a = int(a)
b = int(b)
c = int(c)
print((a+b)%c)
print((a%c+b%c)%c)
print((a*b)%c)
print((a%c*b%c)%c)
[2588] 곱셈
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제 입력
472
385
예제 출력
2360
3776
1416
181720
안되는 예
a = int(input())
b = int(input())
print(a*(b%10))
print(a*(b%100)/10)
print(a*(b/100))
print(a*b)
단순 나눗셈을 하게되면, 소수점을 포함한 값으로 출력됩니다.
123
123
369
282.9
151.29
15129
그래서 b를 list로 받고 for문을 사용하는 방식으로 고쳐보았습니다.
정답
a = int(input())
b = input()
list(b)
for i in range(2,-1,-1):
print(a * int(b[i]))
print(a* int(b))
a와 b를 받아주고 b는 문자열로 받아준 뒤 list로 바꿔줍니다. a와 b의 셋째 자리, 둘째자리, 첫째자리 순으로 곱해준 값을 출력합니다. 마지막으로 a와 b를 곱해준 값을 출력합니다.