10430
A B C 3개를 입력받고 출력만 하면되는 정말 간단한 문제이다.
A, B, C= map(int, input().split())
print((A+B)%C)
print(((A%C) + (B%C))%C)
print((A*B)%C)
print(((A%C)*(B%C))%C)
map 함수에 대해 설명하자면 여러가지의 자료형의 값을 받을 때 사용되는 함수이다.
이 문제는 따로 코멘트를 하지않겠습니다.
2588번
이문제 되게 어렵게 생각했던 문제이다.
배열 만들어서 4 7 2 를 a[0] a[1] a[2] 385도 마찬가지로 b[0] b[1] b[2] 이렇게 넣고 폴문을 이용해서 돌릴려고 했는데..
잘 안되고(당연히 잘 안됬지.. 방법이 잘못됬는데) 화장실에서 큰일을 보다 472*5가 2360이 나오는 것을 깨닫고 바로 와서 코딩을 진행하였다.
원래 생각했던 코드
a = int(input('첫 번째 숫자를 입력하세요: '))
b = int(input('두 번째 숫자를 입력하세요: '))
c = [a%1000//100,
a%100//10,
a%10]
d = [[b%1000//100,
b%100//10,
b%10]]
c.reverse()
d.reverse()
N = 0
A, B = []
for i in range(0,3):
for j in range(0,3):
if A[i] * B[j] >= 10:
if j == 0:
N = A[i] * B[j] % 10
if j == 1:
N = A[i] * B[j] % 100//10
if j == 2:
N = A[i] * B[j] % 1000//100
else:
up = A[i] * B[i]
# 이렇게 하다가 안될 것 같아서 문제를 다시보니 첫번째 숫자에 두번째 숫자의 일의 자리, 십의 자리, 백의 자리를 넣으면 되는것을 깨달았다..;ㅅ;
잘못된 예시
a = int(input())
b = int(input())
d = [b%10,
b%100//10, #십의 자리 구하기 b가 385라면 85//10 = 8
b%1000//100] #백의 자리 구하기 b가 385라면 385%1000 = 385//100 = 3 //는 나눗셈 후 정수만 구하는 계산식
print(a*d[0])
print(a*d[1])
print(a*d[2])
print(a*b)
잘된 예시
보면 d의 값에 %가 있는 걸 보고 있는데 472값을 넣었을 경우 b%100 이라고 가정을 해보자 %는 나눗셈한뒤 나머지 값을 구하는거니 몫은 4 나머지는 72가 될것이다.
그러니 남는 값은 72 여기에 // 슬래시 두번은 나눗셈한 뒤 정수만 구하는 문법이므로 72를 10으로 나눈뒤 몫부분 즉 7만 남게되어 십의자리가 7인 것을 구할 수 있는 것이다.
아래 백의 자리도 마찬가지라고 생각하면 된다.
이부분에 관한것은 나중에 블로그 내 언어 Python 부분에 자세히 서술할 예정이다.
'IT관련 공부 > 백준(BaekJoon)' 카테고리의 다른 글
1330번, 9498번, 2753번 (0) | 2022.10.14 |
---|---|
10171번, 10172번, 25083번 (0) | 2022.10.12 |
10926번, 18108번, 3003번 (0) | 2022.10.12 |
1000번, 1001번, 10998번, 1008번, 10869번 (0) | 2022.10.12 |
백준 10718번 문제 (0) | 2022.09.06 |