포스트

[PS] PS 기록 (cpp)

PS를 하면서 다른 분들이 사용한 방법 중 좋다고 생각한 것들을 기록용으로 남겨두려고 글을 작성했습니다.

For 반복문에서 특정 조건에서만 증감을 하고 싶은 경우

1
2
3
4
5
6
7
for (int i = 0; i < n;) {
    /* code
    ...
    */
    if(조건)
        i++;
}

queue 와 stack 비우기

1
2
3
4
queue <int> q;
stack <int> s;
// q.push() ..  s.push()..
q = {}, s ={} ; // = {} 를 통해 queue와 stack을 empty로 만들 수 있다.

i != n 일 때는 “ “ 를 i == n 일 때는 “\n”을 출력하기

1
2
3
4
for (int i = 0; i <= n; i++) {
    //code..
    cout << "1" << " \n"[i == n];
}

i= 0 ~ n-1 일 때는 1 1 1 1 … 로 출력하고, i = n 이 되면 ‘\n’(줄바꿈)이 된다.

배열에 적힌 값 만큼 상하좌우 이동

1
2
3
4
5
6
7
8
9
10
int pos[51][51]; //.. 배열에 임의의 값 
int dx[4] = {1,-1,0,0};
int dy[4] = {0,0,1,-1};

for(int i=0; i < 4; i++){
    int mx = x + dx[i] * pos[x][y];
    int my = y + dy[i] * pos[x][y];
    
    // pos[mx][my]..
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.