세로읽기

문제

언어

  • JavaScript

문제 풀이 step 1

  • 한 줄의 단어는 최대 15개의 글자로 이루어진다고 했으니 외부 반복문은 15번을 돕니다.
  • 내부 반복문은 주어지는 문자열의 갯수만큼 돕니다.
  • 위에서 아래로 반복을 돌며 오른쪽으로 한 칸씩 옮겨가며 반복을 돕니다.
  • 이때 한 줄의 단어가 15개의 글자보다 작은 단어만 주어질 수 있으므로, undefined인 경우를 세서 반복문의 횟수를 줄여줍니다.

소스 코드

const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");

const solution = (input) => {
	const res = [];
	for (let i = 0; i < 15; i++) {
		let cnt = 0;
		for (let j = 0; j < input.length; j++) {
			if (input[j][i]) res.push(input[j][i]);
			else cnt++;
		}

		// 모든 단어의 길이가 15 보다 작은 경우
		if (cnt === input.length) break;
	}

	return res.join("");
};

console.log(solution(input));