์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜1. String (๋ฌธ์ž์—ด) : ์•”ํ˜ธ

2023. 10. 8. 15:14ใ†์ธํ”„๋Ÿฐ/์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ž…๋ฌธ : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„

728x90

https://hyejin.tistory.com/1207

 

์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜1. String (๋ฌธ์ž์—ด) : ๋ฌธ์ž์—ด ์••์ถ•

https://hyejin.tistory.com/1206 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜1. String (๋ฌธ์ž์—ด) : ๊ฐ€์žฅ ์งง์€ ๋ฌธ์ž ๊ฑฐ๋ฆฌ https://hyejin.tistory.com/1205 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜1. String (๋ฌธ์ž์—ด) : ์ˆซ์ž๋งŒ ์ถ”์ถœ htt

hyejin.tistory.com

-> ์ด์ „ ๋ฌธ์ œ ํ’€์ด 

 

 

12. ์•”ํ˜ธ 

์„ค๋ช…

ํ˜„์ˆ˜๋Š” ์˜ํฌ์—๊ฒŒ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋น„๋ฐ€ํŽธ์ง€๋ฅผ ๋งค์ผ ์ปดํ“จํ„ฐ๋ฅผ ์ด์šฉํ•ด ๋ณด๋ƒ…๋‹ˆ๋‹ค.

๋น„๋ฐ€ํŽธ์ง€๋Š” ํ˜„์ˆ˜์™€ ์˜ํฌ๊ฐ€ ์„œ๋กœ ์•ฝ์†ํ•œ ์•”ํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ํŽธ์ง€๋Š” ์•ŒํŒŒ๋ฒณ ํ•œ ๋ฌธ์ž๋งˆ๋‹ค # ๋˜๋Š” *์ด ์ผ๊ณฑ ๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ํ˜„์ˆ˜๊ฐ€ “#*****#”์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž๋ฅผ ๋ณด๋ƒˆ๋‹ค๋ฉด ์˜ํฌ๋Š” ํ˜„์ˆ˜์™€ ์•ฝ์†ํ•œ ๊ทœ์น™๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

1. “#*****#”๋ฅผ ์ผ๊ณฑ์ž๋ฆฌ์˜ ์ด์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. #์€ ์ด์ง„์ˆ˜์˜ 1๋กœ, *์ด์ง„์ˆ˜์˜ 0์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” “1000001”๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

2. ๋ฐ”๋€ 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜ํ™” ํ•ฉ๋‹ˆ๋‹ค. “1000001”์„ 10์ง„์ˆ˜ํ™” ํ•˜๋ฉด 65๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

3. ์•„์Šคํ‚ค ๋ฒˆํ˜ธ๊ฐ€ 65๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์•„์Šคํฌ๋ฒˆํ˜ธ 65๋Š” ๋Œ€๋ฌธ์ž 'A'์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ๋Œ€๋ฌธ์ž๋“ค์˜ ์•„์Šคํ‚ค ๋ฒˆํ˜ธ๋Š” 'A'๋Š” 65๋ฒˆ, ‘B'๋Š” 66๋ฒˆ, ’C'๋Š” 67๋ฒˆ ๋“ฑ ์ฐจ๋ก€๋Œ€๋กœ 1์”ฉ ์ฆ๊ฐ€ํ•˜์—ฌ ‘Z'๋Š” 90๋ฒˆ์ž…๋‹ˆ๋‹ค.

ํ˜„์ˆ˜๊ฐ€ 4๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹ ํ˜ธ๋กœ ๋ณด๋ƒˆ๋‹ค๋ฉด

#****###**#####**#####**##**

์ด ์‹ ํ˜ธ๋ฅผ 4๊ฐœ์˜ ๋ฌธ์ž์‹ ํ˜ธ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉด

#****## --> 'C'

#**#### --> 'O'

#**#### --> 'O'

#**##** --> 'L'

์ตœ์ข…์ ์œผ๋กœ “COOL"๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

ํ˜„์ˆ˜๊ฐ€ ๋ณด๋‚ธ ์‹ ํ˜ธ๋ฅผ ํ•ด์„ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด์„œ ์˜ํฌ๋ฅผ ๋„์™€์ฃผ์„ธ์š”.

 

์ž…๋ ฅ

์ฒซ ์ค„์—๋Š” ๋ณด๋‚ธ ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜(10์„ ๋„˜์ง€ ์•ˆ์Šต๋‹ˆ๋‹ค)๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜์˜ ์ผ๊ณฑ ๋ฐฐ ๋งŒํผ์˜ #๋˜๋Š” * ์‹ ํ˜ธ๊ฐ€ ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.

ํ˜„์ˆ˜๋Š” ํ•ญ์ƒ ๋Œ€๋ฌธ์ž๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

 

์ถœ๋ ฅ

์˜ํฌ๊ฐ€ ํ•ด์„ํ•œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ ์ž…๋ ฅ 1 

4
#****###**#####**#####**##** 

 

์˜ˆ์‹œ ์ถœ๋ ฅ 1

COOL

 

 

๋ฌธ์ œ ํ’€์ด  1

public String solution(int num, String input) {
    String answer = "";
    input = input.replace("#", "1").replace("*", "0");
    int cnt = input.length() / num;
    int i = 0;
    while (i < input.length()) {
        answer += (char) Integer.parseInt(input.substring(i, i + cnt), 2);
        i += cnt;
    }

    return answer;
}

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป : ์ด ๋ฌธ์ œ๋Š” # ๋Š” 1๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , * ๋Š” 0์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  7์ž๋ฆฌ๋งˆ๋‹ค 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค์Œ, ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

์šฐ์„  ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์— replace ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ #๊ณผ * ๋ฅผ ๊ฐ๊ฐ 1๊ณผ 0์œผ๋กœ ๋Œ€์ฒดํ•ด์ฃผ๊ณ , 

๊ทธ ๋‹ค์Œ subString์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์„œ ๊ทธ 7์ž๋ฆฌ ๋งˆ๋‹ค 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

(๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์•ˆ์ฝ์–ด์„œ.. 7์ž๋ฆฌ ๊ธฐ์ค€์ธ์ง€ ๋ชจ๋ฅด๊ณ , ์—ด์‹ฌํžˆ input.lenght() / num ์„ ํ†ตํ•ด์„œ subString ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ž ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๋ฐ ๊ทธ๋ƒฅ 7์ž๋ฆฌ๋กœ ๊ณ ์ •ํ•ด์„œ ์ž๋ฅด๋ฉด ๋œ๋‹ค. ์ฆ‰, cnt ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”์—†๋‹จ ์–˜๊ธฐ) 

 

input.subString์„ ํ†ตํ•ด ๋ฌธ์ž์—ด์„ ์ชผ๊ฐ  ๋‹ค์Œ, 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ ์ด๋•Œ, Interger.parseInt๋ฅผ ์ด์šฉํ•ด์„œ 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฐ’์„ (char) ๋กœ ๋ณ€ํ™˜ํ•ด์ค€ ๋‹ค์Œ answer ๊ฐ’์— ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

 

 

๋ฌธ์ œ ํ’€์ด  2

public String solution2(int num, String input) {
    String answer = "";
    for (int i = 0; i < num; i++) {
        String tmpStr = input.substring(0, 7).replace("#", "1").replace("*", "0");
        int tmpNum = Integer.parseInt(tmpStr, 2);
        answer += (char) tmpNum;
        input = input.substring(7);
    }
    return answer;
}

๐Ÿ‘พ : ๊ฐ•์‚ฌ๋‹˜์€ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค. ์šฐ์„  ๋ฐ˜๋ณต๋ฌธ์„ num๋ฒˆ๋งŒ ๋Œ๊ฒŒ ํ–ˆ๋‹ค. (๋‹จ์–ด๊ฐ€ 4๊ฐœ๋‹ˆ๊นŒ) 

๊ทธ ๋‹ค์Œ, input.subString์„ 0๋ถ€ํ„ฐ 7๊นŒ์ง€ ๋จผ์ € ์ž๋ฅด๊ณ , ๊ทธ ๋‹ค์Œ # ๊ณผ * ์„ ๊ฐ๊ฐ 1๊ณผ 0์œผ๋กœ ๋Œ€์ฒดํ•ด์คฌ๋‹ค. 

๊ทธ ๋‹ค์Œ, ๋™์ผํ•˜๊ฒŒ Integer.pasreInt๋ฅผ ํ†ตํ•ด 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๊ณ , ๊ทธ ๊ฐ’์„ answer์— ์ €์žฅํ•ด์คฌ๋‹ค. ์ด๋•Œ tmpNum ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ์ˆซ์ž๊ฐ’์ด ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— (char) ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. 

 

๊ทธ ๋‹ค์Œ, input ๊ฐ’์„ 7๋ถ€ํ„ฐ ๋๊นŒ์ง€๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ๋‹ค์Œ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ด์ „ 7์ž๋ฆฌ ๋ฌธ์ž๋Š” ์ œ์™ธํ•˜๊ณ  subString ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90