본문 바로가기

알고리즘

[백준] 1271번 엄청난 부자 / python (with c)

c언어로의 이 문제 난이도는 절대 브론즈의 문제가 아니다.

 

python으로 풀면 3줄이면 푸는 아주 쉬운 백준 기준 브론즈5 난이도의 문제이다.

 

나는 아직 알고리즘을 공부할 때 다른 언어에 미숙하다고 생각해서 c언어로 풀고 있다.

 

이 문제에서 잘 봐야하는 것은 바로 입력 값의 m과n은 10진수 정수이자 10^1000까지라고 범위가 지정되어있다.

 

c언어에서 이런 10진수인 정수를 표현하는 int와long ( int < long ) 범위는 최대 2,147,483,647이다.

 

여기서 주어진 범위는 10^1000 이므로 최대를 넘어서서 오버플로우가 일어나 문제에서 오류로 지정한다.

 

난 처음에 단순하게 생각해서 풀었다가 3번정도 틀리니 내 자신을 의심했다.

 

 

그래서 문제를 제대로 읽고 보니 입력 값의 범위 지정이 c언어로 구현하기에 너무나도 많은 것을 생각 해야했다.

 

하지만 파이썬을 이용한다면 달라진다.

 

파이썬은 어떤 정말 큰 수도 자동으로 처리가 가능한 특성이 있다.

 

이런식으로 파이썬은 우리가 생각하는 정말 간단한 문제로 완성이 된다.

 

^^^

 

c언어로 구현할 때 진짜 내가 뭐 모르는게 있었나? 하고 다른 사람 코드를 보니 바로 납득이 갔다.

 

그래서 c언어로 다시 이 문제를 풀고 있는 중이다.