반응형
https://www.acmicpc.net/problem/16428
큰 수에 대해 나눗셈 연산을 구현하는 문제였습니다.
풀이방법
파이썬은 기본적으로 큰 수(long long 범위 초과하는)의 사칙연산을 지원합니다. 두 가지 방법으로 구현하는 법이 있습니다.
1. 그냥 나눠 몫과 나머지를 구하는 방법 : 기본으로 지원해주므로 양수 / 음수인 경우에만 if문으로 처리하는 것 외에 몫을 c, 나머지를 d변수에 저장해 출력합니다.
2. 함수 이용 : divmod(정수1,정수2)함수를 이용하게 되면 정수1을 2로나눈 몫과 나머지가 튜플 형태로 반환됩니다. 이를 이용해 답을 출력합니다.
Code
방법 1
a, b = map(int,input().split())
c, d = a//b, a%b
if a != 0 and d < 0:
c, d = c+1, d-b
print(c)
print(d)
방법2
a, b = map(int, input().split())
c, d = divmod(a, b)
if a != 0 and d < 0:
c, d = c+1, d-b
print(c)
print(d)
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ) 11444번 : 피보나치 수 6 (0) | 2021.07.09 |
---|---|
(C++) - 백준(BOJ) 6588번 : 골드바흐의 추측 (0) | 2021.07.08 |
(C++) - 프로그래머스(연습문제) : 줄 서는 방법 (0) | 2021.05.21 |
(C++) - 프로그래머스(연습문제) : 최고의 집합 (0) | 2021.05.18 |
(C++) - 프로그래머스(2017 팁스타운) : 예상 대진표 (0) | 2021.05.17 |