나 개발자 진짜 되냐?

백준 C++ 11050번 이항 계수 1 ( 펙토리얼 ) 본문

C++을 시작해봐요!/구현문제를 풀어봤어요!

백준 C++ 11050번 이항 계수 1 ( 펙토리얼 )

Snow Rabbit 2025. 12. 31. 14:12

 

오늘은 12월 마지막 날!

25년도가 훌쩍 지났다.

작년의 오늘에는 유니티 최종 작품을 만들고 있었을 땐데..

벌써 그러고도 1년이 흘렀다.

 

같이 작품을 만들던 동료는 취직을 했다.

전공을 확실히 살려서 간 건 아니지만 너무 만족해서 잘 다니고 있다고 했다.

 

...

코테를 풀면서

내가 과연 이 코테문제를 뚫고 면접기회가 찾아올까?라는 생각이 든다.

문제가 이렇게 많고 어려운데 어떻게 풀어야 하나.. 싶다.

아직 모르는 문법도 너무 많고...

근데 하루에 두 문제는 너무 힘든걸?!

 

쉽지가 않다.

c#으로... 공부해야 하는데 c++로 문제를 푸는 나..

ㅋㅋㅋㅋㅋㅋㅋㅋ

쉽지 않다. 쉽지 않아..

 

그래도 오늘은 마지막 날이니..

힘............ 차게..!  풀어보자

사실 별로 안 어렵다 오늘껀

 


 

이항 계수..... 가 뭐더라?

이렇게 단순하게 문제를 주다니..

 

원래 바로 힌트를 안 받는데

이항 계수가 뭔지 기억이 안 나서...ㅋㅋ

그냥 지 선생에게 바로 이항 계수가 뭐냐고 물었다.

 

이항 계수에 대해 알려주셨다.

 

N개 중에 K개를 고르는 경우의 수

N개의 서로 다른 물건 중에서 순서 상관없이 K개를 고르는 방법의 수

 

그랬던 거 같다.

ㅋㅋㅋㅋㅋㅋ

 

그래서 공식이

 n / k = n! / k!(nk)!

이다.

아니 이거 분명 서식 쓰는 거 있었던 거 같은데 아닌가?

 

 

이렇게 생겼다.

 

 

그래서 나는 이 식을 보고..

그리고 문제조건에서 10 이하라고 해서

그냥 for문으로 뚫어보기로 했다.

 

 

​자잔

 

지피티씨는 따로 함수를 만들어주었다.

 

#include <bits/stdc++.h>
using namespace std;

int fact(int x) {
    int r = 1;
    for (int i = 2; i <= x; i++) r *= i;
    return r;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int N, K;
    cin >> N >> K;

    int ans = fact(N) / (fact(K) * fact(N - K));
    cout << ans;
    return 0;
}

 

저 친구는 1을 기본수로 두고 2부터 끝까지 하였고

나는 반대로 내려가면서 곱해주었다.

 

비슷한 듯 다르게 풀었다.ㅎㅎ

 

숫자가 작아서 다행히...?! for문으로 풀었는데..

나중에 더 큰 수가 나오면 어떻게 될까.. 싶다.


 

어렵지 않게 풀었다.

 

혹시 누군가 이 글을 읽는다면

한해 너무 고생 많았고

가는 25년도 잘 마무리하고

오는 26년도 잘 풀리는 해가 되길 바랍니다.

 

모두모두 건강하세요!!!!!

건강이 왕 최고!!!!