나 개발자 진짜 되냐?

코딩테스트 입문 - 유한소수 판별하기 ( 기약분수, 2&5, gcd ) 본문

프로그래머스를 풀어보아요!/C++

코딩테스트 입문 - 유한소수 판별하기 ( 기약분수, 2&5, gcd )

Snow Rabbit 2026. 5. 19. 23:58

 

다른 사람들에 비해

뒤쳐졌다고 생각할 때

마음을 다잡는 게 참 어렵다.

 

타인이랑 비교하는 게

가장 힘들고 괴로운 것인데..

 

생각을 잊는 것도 생각보다 어렵다

세상에 쉬운 건 없긴 없나.. 보다..

 

시간 남을 때

철학책을 좀 읽고 싶다.


 

흠..

먼저 저번에

최대공약수를 구하는 식을 구한 적이 있다.

 

흠..

일단 분자와 분모로 최대공약수를 구해보고

각각 분자와 분모에 나눠준다.

 

그다음에

분모에 2나 5가 있으면 유한소수로 return 1 해준다.

 

 

완벽한 줄 알았던 나.

 

ㅋㅋㅋㅋㅋ

구한 적이 있다고 했지

기억한다고는 안 했다.

 

 

고맙다 프로그래머스...

 

 

 

아직도 /= 인지 =/ 인지 헷갈려하는 나....

미쳐버리겠군.. ㅎ

 

 

어....................

...

 

이유가 뭘까..?

 

인지 씨를 찾았다.

 

인지 씨 말로는 이렇다

b가 6일 때는

저 if문을 통과해서 1로 나오는데

사실 2 * 3 이여서 3이 들어가기 때문에.. 무한소수라는 것..

 

헉..

 

그래서 어떻게 해야 하냐고 물었다.

 

whlie문으로 2랑 5를 계속 나눠주라고 한다.

 

그다음에 남은 숫자가 1이면 2랑 5 다 빼서 아무것도 없는 거니 return 1

하라고 했다.

 

while문으로 이렇게 두 개 나누는 것이 꼬임 없이 완벽하게 흘러간다고 한다.

사실 막 나는 while ( b > 0 )

이런 거나

while ( b % 2== 0 || b % 5 == 0) 이렇게 했는데

그거보다 이렇게 따로 해주는 게 더 좋다고 한다.

 

 

알겠습니다.

 

다른 사람의 식을 보니..

 

이렇게 짧게 쓰다니...

 

이렇게 보면

세상에 천재는 참 많은 거 같다.

수학 천재..


 

아차차! 어려운 문제였다.

 

처음에 그래도 방향성이 아예 틀리지 않았어서

gcd..? 이거..?

ㅋㅋㅋmcd로 알고 있었지만.. 여하튼

그거 덕분에 조금 수월 하게 풀 수 있었다.

 

이렇게 알고리즘, 숨은 함수 알고 있는 게 도움이 되는구나 싶다.

 

근데 너무 많아서 머리 아프다고요...

(*  ̄︿ ̄)

 

고생했다.

하루 4문제가 왜 이리 어렵냐..