본문 바로가기

알고리즘/백준

백준1855-암호(브론즈1)

반응형

문제출처 : https://www.acmicpc.net/problem/1855

 

1855번: 암호

준표와 세준이는 서로 솔루션을 토론 하면서 다른 사람이 자신들의 솔루션을 듣지 못하게 하도록 서로 메시지를 주고받을 때 메시지를 암호화 하여서 주고받았다. 암호를 만드는 방법은 다음과

www.acmicpc.net

문제 풀이) 입력 들어온 데이터를 열의 갯수에 맞춰서 배열에 저장 후 배열을 행의 단위로 읽어서 출력해 주면 된다.

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    char dec[300];
    char enc[100][30]={0};
    int y=0,x=0;
    int col;


    cin >> col >> dec;

    int len = strlen(dec);
    int dir = 0;

    for(int i=0;i<len;i++)
    {
        enc[y][x] = dec[i];
        if(dir == 0 && x+1>=col)
        {
            y++;
            dir=1;
            continue;
        }
        else if(dir==1 && x-1 < 0)
        {
            y++;
            dir=0;
            continue;
        }

        if(dir==0)
        {
            x++;
        }
        else {
            x--;
        }
    }

    for(int i=0;i<col;i++)
    {
        for(int j=0;j<y;j++)
        {
            cout << enc[j][i];
        }
    }

    return 0;
}
반응형