λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 10798번 : μ„Έλ‘œμ½κΈ°

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2022. 2. 17.

 

 

Algorithm

-  μ„Έλ‘œμ½κΈ° -

 


 

문제

아직 글을 λͺ¨λ₯΄λŠ” μ˜μ„μ΄κ°€ 벽에 κ±Έλ¦° μΉ νŒμ— μžμ„μ΄ λΆ™μ–΄μžˆλŠ” κΈ€μžλ“€μ„ λΆ™μ΄λŠ” μž₯λ‚œκ°μ„ 가지고 놀고 μžˆλ‹€.

이 μž₯λ‚œκ°μ— μžˆλŠ” κΈ€μžλ“€μ€ μ˜μ–΄ λŒ€λ¬Έμž ‘A’λΆ€ν„° ‘Z’, μ˜μ–΄ μ†Œλ¬Έμž ‘a’λΆ€ν„° ‘z’, 숫자 ‘0’λΆ€ν„° ‘9’이닀. μ˜μ„μ΄λŠ” μΉ νŒμ— κΈ€μžλ“€μ„ μˆ˜ν‰μœΌλ‘œ 일렬둜 λΆ™μ—¬μ„œ 단어λ₯Ό λ§Œλ“ λ‹€. λ‹€μ‹œ κ·Έ μ•„λž˜μͺ½μ— κΈ€μžλ“€μ„ λΆ™μ—¬μ„œ 또 λ‹€λ₯Έ 단어λ₯Ό λ§Œλ“ λ‹€. 이런 μ‹μœΌλ‘œ λ‹€μ„― 개의 단어λ₯Ό λ§Œλ“ λ‹€. μ•„λž˜ κ·Έλ¦Ό 1은 μ˜μ„μ΄κ°€ μΉ νŒμ— λΆ™μ—¬ λ§Œλ“  λ‹¨μ–΄λ“€μ˜ μ˜ˆμ΄λ‹€. 

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

ν•œ μ€„μ˜ λ‹¨μ–΄λŠ” κΈ€μžλ“€μ„ 빈칸 없이 μ—°μ†μœΌλ‘œ λ‚˜μ—΄ν•΄μ„œ μ΅œλŒ€ 15개의 κΈ€μžλ“€λ‘œ 이루어진닀. λ˜ν•œ λ§Œλ“€μ–΄μ§„ λ‹€μ„― 개의 λ‹¨μ–΄λ“€μ˜ κΈ€μž κ°œμˆ˜λŠ” μ„œλ‘œ λ‹€λ₯Ό 수 μžˆλ‹€. 

심심해진 μ˜μ„μ΄λŠ” μΉ νŒμ— λ§Œλ“€μ–΄μ§„ λ‹€μ„― 개의 단어λ₯Ό μ„Έλ‘œλ‘œ 읽으렀 ν•œλ‹€. μ„Έλ‘œλ‘œ 읽을 λ•Œ, 각 λ‹¨μ–΄μ˜ 첫 번째 κΈ€μžλ“€μ„ μœ„μ—μ„œ μ•„λž˜λ‘œ μ„Έλ‘œλ‘œ μ½λŠ”λ‹€. λ‹€μŒμ— 두 번째 κΈ€μžλ“€μ„ μ„Έλ‘œλ‘œ μ½λŠ”λ‹€. 이런 μ‹μœΌλ‘œ μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ ν•œ μžλ¦¬μ”© 이동 ν•˜λ©΄μ„œ λ™μΌν•œ 자리의 κΈ€μžλ“€μ„ μ„Έλ‘œλ‘œ 읽어 λ‚˜κ°„λ‹€. μœ„μ˜ κ·Έλ¦Ό 1의 λ‹€μ„― 번째 자리λ₯Ό 보면 두 번째 μ€„μ˜ λ‹€μ„― 번째 자리의 κΈ€μžλŠ” μ—†λ‹€. 이런 경우처럼 μ„Έλ‘œλ‘œ 읽을 λ•Œ ν•΄λ‹Ή 자리의 κΈ€μžκ°€ μ—†μœΌλ©΄, 읽지 μ•Šκ³  κ·Έ λ‹€μŒ κΈ€μžλ₯Ό 계속 μ½λŠ”λ‹€. κ·Έλ¦Ό 1의 λ‹€μ„― 번째 자리λ₯Ό μ„Έλ‘œλ‘œ 읽으면 D1gk둜 μ½λŠ”λ‹€. 

κ·Έλ¦Ό 1μ—μ„œ μ˜μ„μ΄κ°€ μ„Έλ‘œλ‘œ 읽은 μˆœμ„œλŒ€λ‘œ κΈ€μžλ“€μ„ 곡백 없이 좜λ ₯ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€:

Aa0aPAf985Bz1EhCz2W3D1gkD6x

μΉ νŒμ— 뢙여진 단어듀이 μ£Όμ–΄μ§ˆ λ•Œ, μ˜μ„μ΄κ°€ μ„Έλ‘œλ‘œ 읽은 μˆœμ„œλŒ€λ‘œ κΈ€μžλ“€μ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let lenArr = input.map(el => el.length);
let maxLen = Math.max(...lenArr);
let result = '';

for (let i = 0; i < maxLen; i++) {
	for (let j = 0; j < input.length; j++) {
		if (input[j][i] === undefined) continue;
		else result += input[j][i];
	}
}

console.log(result);

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€