๊ด€๋ฆฌ ๋ฉ”๋‰ด

0105

15. Java/Javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(lv.0) ๋ฌธ์ž ๋ฐ˜๋ณต ์ถœ๋ ฅํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿง‘‍๐Ÿ’ป programmers

15. Java/Javascript ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(lv.0) ๋ฌธ์ž ๋ฐ˜๋ณต ์ถœ๋ ฅํ•˜๊ธฐ

๊ณต๋ฐฑ์˜ค 2025. 3. 11. 01:19
728x90
๋ฐ˜์‘ํ˜•

โœ… ๋ฌธ์ œ

๋ฌธ์ž์—ด my_string๊ณผ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string์— ๋“ค์–ด์žˆ๋Š” ๊ฐ ๋ฌธ์ž๋ฅผ n๋งŒํผ ๋ฐ˜๋ณตํ•œ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

โœ… Java

/*์ŠคํŠธ๋ง์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์„œ ์ชผ๊ฐœ๊ธฐ ๊ฐ๊ฐ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ 3๋ฒˆ ์”ฉ  ๋ฐ˜๋ณต ๋‹ค์‹œ string์œผ๋กœ ๋งŒ๋“ค๊ธฐ*/
class Solution {
    public String solution(String my_string, int n) {
        StringBuilder answer = new StringBuilder(); // String ๋Œ€์‹  StringBuilder ์‚ฌ์šฉ

        String[] temp = my_string.split(""); // ๋ฌธ์ž์—ด์„ ํ•œ ๊ธ€์ž์”ฉ ์ชผ๊ฐฌ -> ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ธฐ
        for (String s : temp) {
            answer.append(s.repeat(n)); // ๊ฐ๊ฐ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ n๋ฒˆ์”ฉ ๋ฐ˜๋ณต
        }

        return answer.toString(); // ๋‹ค์‹œ ์ŠคํŠธ๋ง์œผ๋กœ ๋ณ€๊ฒฝ
    }

}

โœ… JavaScript

function solution(my_string, n) {
    let answer = '';
    answer = [...my_string].map(i => i.repeat(n)).join("")
    return answer;
}

- [...my_String]

  • ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • "hello" → ['h', 'e', 'l', 'l', 'o']

โœ… String vs StringBuilder

  • String(Immutable, ๋ถˆ๋ณ€)
    • String์€ ๋ถˆ๋ณ€๊ฐ์ฒด์ด๋‹ค
    • ๋ฌธ์ž์—ด์ด ์ˆ˜์ •๋  ๋•Œ ๊ธฐ์กด ๋ฌธ์ž์—ด์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค
    • ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด์„ ์ž์ฃผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„์™€ ์„ฑ๋Šฅ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • StringBuilder (mutable, ๊ฐ€๋ณ€)
    • ๋ฌธ์ž์—ด์„ ๋ณ€๊ฒฝํ•ด๋„ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค
    • ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด์„ ์ž์ฃผ ๋ณ€๊ฒฝํ•  ๋•Œ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.
    • append()
      • StringBuiilder(), StringBuffer()์—์„œ ์ œ๊ณต๋˜๋ฉฐ ๊ธฐ์กด ๋ฌธ์ž์—ด ๋์— ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.
      • +์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ์ด ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚ญ๋น„ํ•ด์„œ append()๋ฅผ ์“ฐ๋Š”๊ฒŒ ํšจ์œจ์ด ๋†’๋‹ค
728x90