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

Coding Planet

ASCII ์ฝ”๋“œ ์ด์ •๋ฆฌ_ ์ด์ œ๋Š” ๊ทธ๋งŒ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์‹ถ๋‹ค(ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‘˜๋งŒ์˜ ์•”ํ˜ธ ํ’€์ด) ๋ณธ๋ฌธ

๐ŸŽ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/์•Œ๊ณ ๋ฆฌ์ฆ˜

ASCII ์ฝ”๋“œ ์ด์ •๋ฆฌ_ ์ด์ œ๋Š” ๊ทธ๋งŒ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์‹ถ๋‹ค(ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‘˜๋งŒ์˜ ์•”ํ˜ธ ํ’€์ด)

jhj.sharon 2023. 10. 13. 15:35
๋ฐ˜์‘ํ˜•

 

 

 

 

์ปดํ“จํ„ฐ๋Š” ์‚ฌ๋žŒ์˜ ์–ธ์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์ธ์‹ํ•˜์ง€ ์•Š๋Š”๋‹ค. ASCII๋Š” ์‚ฌ๋žŒ์˜ ์–ธ์–ด์ธ ๋ฌธ์ž๋ฅผ ์ปดํ“จํ„ฐ์˜ ์–ธ์–ด์ธ ์ˆซ์ž๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์˜ ํ‘œ์ค€์ด๋‹ค. ASCII ์ฝ”๋“œ๋Š” ์ด 128๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์œ„์™€ ๊ฐ™์ด ์ˆซ์ž๋กœ ์ง€์ •ํ•˜์—ฌ ์ธ์‹ํ•œ๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ์‚ฌ๊ณผ 'apple'์€ '97, 112, 112, 108, 101'๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ฒƒ์ด๋‹ค. ASCII ํ‘œ๋ฅผ ๋ชจ๋‘ ์™ธ์šธ ํ•„์š”๋Š” ์—†์ง€๋งŒ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—๋„ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋ฌธ์ œ ํ˜•์‹์œผ๋กœ ๋Œ€๋ฌธ์ž A(65), Z(90), ์†Œ๋ฌธ์ž a(97), z(122)์ •๋„๋Š” ์™ธ์›Œ๋‘๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ†ตํ•ด c + 1์ด๋ผ๋Š” ๊ณ„์‚ฐ์‹์ด ์ปดํ“จํ„ฐ์—์„œ๋Š” ์‹ค์ œ๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ด๋‹ค. c๋Š” ASCII ์ฝ”๋“œ์ƒ 43์ด๋ฏ€๋กœ c+1์€ 44๊ฐ€๋œ๋‹ค.

 

๋‹ค๋งŒ ์ด๋•Œ ์ฃผ์˜ํ•ด์•ผํ•  ๊ฒƒ์€ ASCII ์ฝ”๋“œ ๊ฐ’ 49๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” '1'์€ ์ˆซ์ž 1์ด ์•„๋‹ˆ๋ผ ๋ฌธ์ž '1'์ด๋ผ๋Š” ์ ์ด๋‹ค. ์ˆซ์ž์™€ ๋ฌธ์ž๋Š” ์ปดํ“จํ„ฐ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

์œ„ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ lv1๋ฌธ์ œ์ธ ๋‘˜ ๋งŒ์˜ ์•”ํ˜ธ๋ฅผ ํ’€์–ด๋ณด์ž

 

 

 

 

class Solution {

    public String solution(String s, String skip, int index) {
        String answer = "";

        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            for (int j = 0; j < index; j++) {
                c += 1;
                if (c > 'z') {
                    c -= 26;
                }
                if (skip.contains(String.valueOf(c))) {
                    j--;
                }
            }
            answer += c;
        }

        return answer;
    }
}

 

  • charAt()์€ ๋ฌธ์ž์—ด์˜ ํŠน์ • ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.  ์ด ๋•Œ ๋ฌธ์ œ์˜ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜์ธ 'z'๋ฅผ ๋„˜์–ด๊ฐˆ ๊ฒฝ์šฐ(c > 'z') a๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด  if ์กฐ๊ฑด๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. 
  • ์œ„ ์กฐ๊ฑด๋ฌธ์—์„œ 'z'๋ฅผ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ๋Š” ์ด์œ ๋Š” 'z'๋ฅผ ๋ฌธ์ž๋กœ(char) ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. c๊ฐ€ ๋ฌธ์ž๋กœ ์ž๋ฃŒํ˜•์ด ์„ ์–ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ ์ฃผ์—ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฌธ์ž๋ฅผ ๋Œ€์†Œ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋„ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฌธ์ž๋ฅผ ASCII ์ฝ”๋“œ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • '-26'์„ ํ•˜๋Š” ๋ถ€๋ถ„์€ ๊ฒฝ๊ณ„๊ฐ’ z๋ฅผ ๋„˜์–ด์„ค ๊ฒฝ์šฐ a๋กœ ๋Œ์•„๊ฐ€์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 'a'์™€ 'z'์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์˜ ์ฐจ์ด๋Š” 25์ด๋‹ค. index ๊ฐ’ ๋งŒํผ ์ด๋™ํ•˜์—ฌ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๊ธฐ์— 1๋งŒํผ ๋”ํ•ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ -26์ด ๋‚˜์˜จ๋‹ค.
  • ๋ฌธ์ œ ์กฐ๊ฑด์ค‘ ๋ฌธ์ž์—ด skip์—์žˆ๋Š” ๊ฐ’์€ ๊ฑด๋„ˆ๋›ฐ์–ด์•ผ ํ•˜๋ฏ€๋กœ skip.contains(String.valueof(c)) ์กฐ๊ฑด์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๋งŒ์•ฝ 'c'์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด 'skip'์— ํฌํ•จ๋˜์–ด์žˆ๋‹ค๋ฉด 'j'๋ฅผ ํ•˜๋‚˜๊ฐ์†Œ์‹œ์ผœ์„œ ๋‹ค์Œ ๋ฐ˜๋ณต์—์„œ ๋‹ค์‹œ ๊ฐ„์€ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. Java์˜ contains()๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ฐพ๋Š” ์—ญํ• ์„ ํ•˜๋ฏ€๋กœ ๋ฌธ์ž 'c'๋ฅผ ์ง์ ‘ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋‹ค. String.valueOf(c)๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•
Comments