본문 바로가기

알고리즘/BOJ

9625번

9625번 - BABBA


처음에는 string 객체를 만들어서, 돌아갈 때마다 문자열을 새로 만들고,


마지막에 다시 갯수를 세서 문제를 풀었다. 그랬더니 메모리 초과가 발생했다..


다시 생각해보니, 단순히 갯수만으로도 충분히 풀 수 있는 문제였는데 엄청 큰 문자열을 쓰는 우를 범했다.


단순하게 A 1개는 자신을 희생하고 B 1개를 생산하고, B는 A 1개, B는 그대로를 유지하므로 그에 관해서 풀면 된다.


<정답 코드>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
 
using namespace std;
 
 
int main()
{
    int k;
    cin >> k;
    int numA = 1, numB = 0;
    
    for (int i = 0; i < k; i++)
    {
        int tmp = numA;
        numA = numB;
        numB += tmp;
    }
 
    cout << numA << " " << numB << endl;
 
    return 0;
}
cs


반응형

'알고리즘 > BOJ' 카테고리의 다른 글

1614번  (0) 2018.01.14
1527번  (0) 2018.01.13
8320번  (0) 2018.01.12
7453번  (0) 2018.01.11
1062번  (0) 2018.01.11