본문 바로가기
[ 다먹살 ]/- Coding

[백준] 10798 세로읽기

by 엉망으로살기 2021. 11. 4.
반응형

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

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

 

일단 이 문제는 최대 경우의 수가 5*15 밖에 되지 않았기 때문에 시간 초과에 대한 걱정은 하지 않았다. 그리고 내 생각에 정답률이 난이도에 비해 좀 낮은 이유는 빈 칸에 대한 처리하는 법 때문인 것 같다. char형 변수의 경우 빈 칸은 ' ' 의 형태가 아닌 0으로 설정하면 바로 조건을 체크할 수 있다.


문제


입출력 및 예제


코드

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        char[][] text = new char[5][15];
        
        // 가로 기준으로 전체 값 읽어오기
        for(int i=0; i<5; i++)
        {
            String temp = sc.nextLine();
            
            for(int j=0; j<temp.length(); j++)
            {
                text[i][j] = temp.charAt(j);
            }
        }
        
        // 세로 기준으로 값 조회 후, 조건 만족 시 결과값에 저장
        for(int i=0; i<15; i++)
        {
            for(int j=0; j<5; j++)
            {
                // 입력되지 않은 칸은 결과값에 제외
                if(text[j][i]!=0)
                {
                    sb.append(text[j][i]);
                }
            }
        }
        
        System.out.println(sb.toString());
        sc.close();
    }
}

 

반응형

댓글