프로그래밍/C++

코테 일기(4) : CodeUp [1090] 수 나열하기2

센텀펀잇맨 2020. 4. 5. 00:09
반응형




정답률 18%.. 고난이도겠지.. 음.. 고등학교 이후로 손 놓긴 했지만 한번 풀어볼까..?


처음 든 생각


이번엔 함수를 활용 해봐야지

function의 인자값으로 a, r, n을 입력받고 { int geoSequence(int a, int r, int n) }

반복문을 통해 n번째 수를 파악할 수 있게 하고 

n번째 수를 출력하는 문제니까 n-1번 만큼 실행하면 되겠다. { for(i=1;i<n;i++) }

시작 값에 계속해서 등비의 값을 곱해가면 되지 않을까? { a*=r; }



코드



#define _CRT_SECURE_NO_WARNINGS    // strtok 보안 경고로 인한 컴파일 에러 방지

 

#include <iostream>

 

using namespace std;

 

int geoSequence(int a, int b, int c);

 

int main() {

        int a, r, n;

 

        cin >> a >> r >> n;

 

        cout << geoSequence(a, r, n) << endl;

}

 

int geoSequence(int a, int b, int c) {

        for (int i = 1; i < c; i++) {

                 //i 0이 아닌 1인 이유

                 //우리가 구하는 값은 n번째 값이기 때문에 n-1번 반복해야 한다

                 a *= b;

        }

 

        return a;

}




결과




아.. 틀렸네.. 이렇게 큰 수를 집어넣을줄 누가알아... 문제에서도 정수라고 했는데!!!


long long으로 푸니까 된다...


그래서 정답률이 낮았구만!! 


테스트 케이스를 큰 값으로 넣을 때는 type을 정해주는게 맞다고 생각한다.


출제자의 의도와 관계 없이 더미문제가 되었다.



휴.. 하지만, 문제 풀이 능력으로는  예전 C++로 코딩을 했을 때의 감이 살아난것 같다.


이 느낌 그대로 살려서 고난이도 자료구조와 알고리즘을 풀어보아야겠다.