๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ฝ”๋”ฉํ…Œ์ŠคํŠธ/TIL

[99ํด๋Ÿฝ] 5์ผ์ฐจ ๋ฌธ์ œ: ์„ธ๋กœ์ฝ๊ธฐ

by moon101 2025. 1. 17.

 

๋ฐฑ์ค€ ์„ธ๋กœ์ฝ๊ธฐ ๋ฌธ์ œ๋กœ ์ด๋ฒˆ๊ฑด ์ข€ ์˜ค๋ž˜ ๊ณ ๋ฏผํ–ˆ๋‹ค. ๊ธ€์ž ์ˆ˜๊ฐ€ ์ผ์ •ํ•˜์ง€๊ฐ€ ์•Š์•„์„œ ์–ด๋–ป๊ฒŒ for๋ฌธ์„ ์จ์•ผํ•˜๋Š”์ง€ ์ƒ๊ฐ์„ ํ•ด๋ดค๋Š”๋ฐ ํ‹€๋ฆฐ ๋ฐฉ๋ฒ•์ด์˜€๋‹ค. 

 

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] sArr = new String[5];

        // ๋ฌธ์ž์—ด ์ž…๋ ฅ ๋ฐ›๊ธฐ
        for (int i = 0; i < 5; i++) {
            sArr[i] = sc.nextLine();
        }
        StringBuilder sb = new StringBuilder();

        // ๋ฌธ์ž์—ด ์ฝ๊ธฐ ๋ฐ ํ•ฉ์น˜๊ธฐ
        int maxLen = 0;
        for (String s : sArr) {
            maxLen = Math.max(maxLen, s.length());
        }

        for (int j = 0; j < maxLen; j++) {
            for (int i = 0; i < sArr.length; i++) {
                if (j < sArr[i].length()) {
                    sb.append(sArr[i].charAt(j));
                }
            }
        }

        // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
        System.out.println(sb.toString());
    }
}

 

 

์ด๋Ÿฐ์‹์œผ๋กœ 5๊ฐœ์˜ ๊ธ€์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋’ค ์„ธ๋กœ๋กœ ์ฝ์€ ๋ฌธ์ž๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋œ๋‹ค. ์–ด๋ ค์šด ๋ถ€๋ถ„์€ ๊ฐ ๊ธ€์ž์—ด์˜ ๊ธ€์ž์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ œ์ผ ๊ธด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•œ ๋’ค ํ•ด๋‹น ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ ๋‹ค๋ฅธ ๊ธธ์ด๊ฐ€ ์งง์€ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ indexOutOfBound exception์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด if (j < sArr[i].length()) ๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๊ณ  ๋ฌธ์ž์—ด์— appendํ•œ๋‹ค. 

์ด ๋ถ€๋ถ„์ด ์ค‘์š” ๋กœ์ง์ธ๋ฐ ๋ฌธ์ œ์—์„œ ์ตœ๋Œ€ 15๊ฐœ์˜ ๊ธ€์ž๋“ค๋กœ ์ œํ•œ์„ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— maxLen์„ ๊ตฌํ•  ํ•„์š” ์—†์ด ๊ทธ๋ƒฅ 15๋กœ ์ œํ•œ์„ ์ค˜์„œ ํ’€์–ด๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค. 

์ตœ์†Œ 1๊ฐœ, ์ตœ๋Œ€ 15๊ฐœ ๊ธ€์ž๋ผ๊ณ  ๋‚˜์™€์žˆ์Œ

 

 

 

๋Œ“๊ธ€