BOJ::1333 부재중 전화

시사점

이해(x)

설계, 손 코딩(x)

시간 복잡도

공간 복잡도

손 코딩 후 문제 리뷰(x)

구현(x)

함수 List

업데이트 되는 변수

실제 구현

#include<bits/stdc++.h>
#define endl '\n'
#define rep(i,a,b) for(int i=a;i<b;i++)
#define r_rep(i,a,b) for(int i=a;i>b;i--)
using namespace std;
int visited[1000 * 10000];
int main(){
     //freopen("input.txt", "r", stdin);
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int N, L, D;
    cin >> N >> L >> D;
    // songs, length, rigs
    // (1L+0)    ~ (1L+5*1)
    // (2L+5*1)  ~ (2L+5*2)
    // (3L+5*2)  ~ (3L+5*3)
    long long itr = 0, sx = 0, ex = 0;
    while (++itr <= N){
        sx = itr*L + 5 * (itr - 1);
        ex = itr*L + 5 * itr;
        rep(i, sx, ex) visited[i] = 1;
    }
    bool Found = false;
    long long possible = D;
    itr = 1;
    rep(i, 0, 1000 * 10000){
        if (i%D == 0 && visited[i]){
            cout << i << endl;
            return 0;
        }
        if (i%D == 0 && i >= ex){
            cout << i << endl;
            return 0;
        }
    }
    return 0;
}

구현 후 코드리뷰 + 예제 돌려보기(x)

디버깅(x)

좋은 코드

최적화