[BOJ/1271번] 엄청난 부자2

sky·2022년 8월 17일
0

BaekJoon Online Judge(B)

목록 보기
76/98
post-thumbnail

문제

Bronze Ⅴ

갑부 최백준 조교는 동전을 최소로 바꾸는데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다. 그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다. 프로토스 중앙 우주 정부의 정책인, ‘모든 지적 생명체는 동등하다’라는 규칙에 입각해서 돈을 똑같이 분배하고자 한다.

한 생명체에게 얼마씩 돈을 줄 수 있는가? 또, 생명체들에게 동일하게 분배한 후 남는 돈은 얼마인가?

입력
첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 10^1000, m과 n은 10진수 정수)

출력
첫째 줄에 생명체 하나에게 돌아가는 돈의 양을 출력한다. 그리고 두 번째 줄에는 1원씩 분배할 수 없는 남는 돈을 출력한다.


Solution

C++ (실패)

#include <iostream>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    cout << n/m << "\n" << n%m;

    return 0;
}

DivisionByZero 런타임 에러가 떴다. 0으로 나눌 수 없어서 발생하는 에러다.

#include <iostream>
using namespace std;

int main() {
    int n = 1, m = 1;
    cin >> n >> m;
    cout << n/m << "\n" << n%m;

    return 0;
}

그래서 초기값을 1로 설정하고 했지만 실패했다. 문제를 다시 살펴보니, m과 n의 범위가 10의 1000승이라는 조건이 주어져 있었다. c로는 그 정도 범위의 자료형이 없어서 직접 다 구현해야 한다. 그래서 난이도가 상당히 높을 것으로 예상된다.

Python

n, m = map(int,input().split())
print(n//m)
print(n%m)

파이썬으로는 간단하면서도 쉬운 문제다. 파이썬으로 풀면 난이도가 브론즈라는 게 납득이 가지만 c나, 다른 언어로 풀 때는 실버 이상의 난이도가 될 것 같다.


Total Time

  • 2022-08-17 | 18:15 - 18:40 Success!

Review
난이도 브론즈 5라고 했지만, 속았다... 다음에 실력이 된다면 c로 다시 풀어보고 싶다.
유사 문제

profile
개발자가 되고 싶은 1人

0개의 댓글

관련 채용 정보