본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 10798 세로읽기

by 까망 하르방 2021. 2. 17.
반응형

출처: https://www.acmicpc.net/problem/10798

 Input 

ABCDE

abcde

01234

FGHIJ

fghij

  

 Output 

Aa0FfBb1GgCc2HhDd3IiEe4Jj 

문자열을 입력받고 각 문자열의 크기를 info[] 저장합니다.

한 문자열의 최대 길이는 15이므로 각 문자열의 첫번째부터 15번째 위치를 세로로 읽습니다.

이때, 배열 인덱스 접근 시 overflow 방지를 위해서 문자열의 길이보다 큰 위치에 인덱스 접근에 유의합니다.

* 문자열의 시작인덱스는 0부터이므로 주의


#include <stdio.h>
 
int len(const char *str) {
    int ret = 0;
    for (;;) {
        if (str[ret] == '\0') break;
        ret++;
    }
    return ret;
}
 
char str[5][20];
int info[5];
 
int main() {
    // freopen("input.txt", "r", stdin);
    for (int i = 0; i < 5; ++i) {
        scanf("%s", str[i]);
        info[i] = len(str[i]);
    }
 
    for (int i = 0; i <= 15; ++i) {
        for (int row = 0; row < 5; ++row) {
            // 문자열 길이보다 큰 인덱스에 접근 시
            if (info[row] <= i) continue;
            printf("%c", str[row][i]);
        }
    }
}

 

반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 2621 카드 게임  (0) 2021.02.17
[BOJ] 백준 10801 카드게임  (0) 2021.02.17
[BOJ] 백준 2526 싸이클  (0) 2021.02.17
[BOJ] 백준 2567 색종이 - 2  (0) 2021.02.17
[BOJ] 백준 7575 바이러스  (0) 2021.02.17

댓글