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)๋ฅผ ํตํด ๋ฌธ์์ด๋ก ๋ณ๊ฒฝํ์๋ค.
'๐ ์ฝ๋ฉํ ์คํธ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Stack, Queue Java๋ก ๊ตฌํํ๊ธฐ(์ ์ผ ๊ฐ๋จํ arrayํ์) (0) | 2023.09.13 |
---|---|
์ฌ๊ทํจ์ ์๊ณ ๋ฆฌ์ฆ - ํฉํ ๋ฆฌ์ผ ํจ์ ์์ (0) | 2023.08.26 |
๋ฒ๋ธ์ ๋ ฌ - ์๋ฐ๋ก ๊ตฌํํ๊ธฐ (0) | 2023.08.21 |
์๊ฐ๋ณต์ก๋(Time Complexity)์ ๊ณต๊ฐ๋ณต์ก๋(Space Complexity) (0) | 2023.08.21 |
12. ์ํธ - replace, Inteager.parseInt(์ง์ ๋ณ๊ฒฝํ๊ธฐ) (0) | 2023.07.07 |