본문 바로가기
Problem Solving/SWEA

[SWEA] 5356. 의석이의 세로로 말해요

by 테리는당근을좋아해 2020. 2. 21.

문제

5개의 서로다른 길이의 문자열이 주어졌을 때, 이 문자열을 세로로 읽은 결과를 구하는 문제

 

예를 들어,

 

A A B C D D

a f z z

0 9 1 2 1

a 8 E W g 6

P 5 h 3 k x

라는 5개의 문자열이 주어지면,

 

Aa0aPAf985Bz1EhCz2W3D1gkD6x 처럼 읽게 된다.

 

풀이방법

5개의 문자열을 입력받아 각 문자열의 i번 째 인덱스에 접근해가면서 출력한다.

 

이 때, i번 째 인덱스가 문자열의 길이보다 클 경우 다음 단어로 넘어간다.

 

소스코드

package samsung;

import java.util.*;

public class s_5356 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int test = sc.nextInt();
		
		for(int t = 1; t <= test; t++) {
			String[] s = new String[5];
			
			for(int i = 0; i < 5; i++) {
				s[i] = sc.next();
			}
			
			int max = 0;
			
			for(int i = 0; i < 5; i++) {
				max = Math.max(max, s[i].length());
			}
			
			System.out.print("#" + t + " ");
			for(int i = 0; i < max; i++) {
				for(int j = 0; j < 5; j++) {
					if(s[j].length() <= i) {
						continue;
					}
					System.out.print(s[j].charAt(i));
				}
			}
			System.out.println();
		}
	}
}

댓글