(파이썬) 백준 10718/10171/10172/1000/10869/10430/2588

|


ctrl + 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] 곱셈

문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

views

(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를 곱해준 값을 출력합니다.