๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿš€ Algorithm/PGS

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฐ์—ด ์›์†Œ์˜ ๊ธธ์ด

๐Ÿ’ก ๋ฌธ์ œ 

๋ฌธ์ž์—ด ๋ฐฐ์—ด strlist๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. strlist ๊ฐ ์›์†Œ์˜ ๊ธธ์ด๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์„ retrunํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

 

๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ:

  • ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
  • ๊ฐ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜์—ฌ, ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  • ๊ฐ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ len() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
  • ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ ์›์†Œ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ณ , ๊ทธ ๊ฐ’์„ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.

 

 

๐Ÿ– ๋‚ด ๋‹ต์•ˆ

public int[] solution(String[] strlist) { // String ๋ฐฐ์—ด์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ , int ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜
        // ์ž…๋ ฅ๊ฐ’์œผ๋กœ null์ด๋‚˜ ๋นˆ ๋ฐฐ์—ด์ด ๋“ค์–ด์˜ฌ ๋•Œ, solution ๋ฉ”์„œ๋“œ๊ฐ€ ์˜ˆ์™ธ๋ฅผ ๋˜์ง€์ง€ ์•Š๊ณ  ๋นˆ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ๊ฒ€์ฆ
        if (strlist == null) {
            return new int[0];
        }

        int[] lengths = new int[strlist.length]; // ๊ธธ์ด๊ฐ€ strlist.length์ธ int ๋ฐฐ์—ด ์ƒ์„ฑ
        for (int i = 0; i < strlist.length; i++) { // strlist ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ์— ๋Œ€ํ•ด length() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ธธ์ด๋ฅผ ๊ตฌํ•œ๋‹ค.
            lengths[i] = strlist[i].length(); // lengths ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ lengths ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜
        }
        return lengths;
    }
public int[] solution2(String[] strings) {
        return Arrays.stream(strings)// strings ๋ฐฐ์—ด์„ stream์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค
                    .mapToInt(String::length) // mapToInt ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด String ์š”์†Œ๋ฅผ int๋กœ ๋งคํ•‘
                    .toArray(); // ์ตœ์ข…์ ์œผ๋กœ toArray ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ int[] ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜
    }