알고리즘 문제풀이/백준

#10798 : 세로읽기

모항 2023. 3. 19. 01:28

풀이방법

 

 

2023.03.19

입력값의 최대 크기가 최대 15글자씩 5개의 문자열로 매우 작기 때문에, 다음과 같이 단순무식한 방법으로 풀어도 시간초과가 나지 않는다.

 

먼저, 입력값을 저장할 Character 타입 2차원 배열을 행 5개, 열 15개의 크기로 선언한다.

 

그리고 입력값을 읽어오는데,

15글자 미만의 길이인 단어가 있을 경우, 그 단어가 끝난 후부터 15번째 글자까지를 알파벳과 숫자를 제외한 다른 글자로 채운다. 나는 '?'로 채웠다.

 

그 다음, 반복문을 통해 정답을 출력한다.

이때, '?'가 들어있는 부분을 무시해주고 출력한다.

 

코드

Java(2023.03.19)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//입력값을 저장할 배열
		Character[][] input = new Character[5][15];	//15글자 길이 단어 5개를 저장하는 크기로 선언
		
		//입력값 읽어와 저장하기
		for(int i=0; i<5; i++) {
			String str = br.readLine();
			Integer len = str.length();
			for(int j=0; j<len; j++) input[i][j] = str.charAt(j);
			//15글자에 미치지 못하는 길이의 단어인 경우, 나머지 부분을 '?'로 채움
			for(int j=len; j<15; j++) input[i][j] = '?';
		}
		
		//정답 출력하기
		for(int j=0; j<15; j++) {
			for(int i=0; i<5; i++) {
				if(input[i][j]=='?') continue;	//'?'가 저장된 경우 무시하고 continue;
				System.out.print(input[i][j]);
			}
		}
		

	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#24416 : 알고리즘 수업 - 피보나치 수 1  (0) 2023.04.05
#2563 : 색종이  (0) 2023.03.19
#2490 : 윷놀이  (0) 2023.03.19
#1427 : 소트인사이드  (0) 2023.03.12
#2587 : 대표값2  (0) 2023.03.12