โ๏ธ ๋ฌธ์ ์ค๋ช
์ ํ๋ฒํธ๊ฐ ๋ฌธ์์ด phone_number๋ก ์ฃผ์ด์ก์ ๋, ์ ํ๋ฒํธ์ ๋ท 4์๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ซ์๋ฅผ ์ ๋ถ *์ผ๋ก ๊ฐ๋ฆฐ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
https://school.programmers.co.kr/learn/courses/30/lessons/12948
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
โ๏ธ ์๊ตฌ์ฌํญ
1. phone_number๋ ๊ธธ์ด 4 ์ด์, 20์ดํ์ธ ๋ฌธ์์ด์ด๋ค.
โ๏ธ ์์ฑ ์ฝ๋
class Solution {
public String solution(String phone_number) {
int n = phone_number.length();
String answer = "*";
answer = answer.repeat(n-4).concat(phone_number.substring(n-4));
return answer;
}
}
โ๏ธ ์ฝ๋ ํ์ด
1.
int n = phone_number.length();
์ ๋ ฅ๋ฐ์ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค.
2.
String answer = "*";
answer = answer.repeat(n-4).concat(phone_number.substring(n-4));
answer.repeat์ ์ฌ์ฉํด์, *์ (์ ์ฒด๊ธธ์ด-4)๊ฐ ๋ถ์ธ๋ค.
phone_number.substring(n-4)๋ฅผ ์ฌ์ฉํด์, phone_number์ ๋ท ๋ค์๋ฆฌ๋ฅผ ์ถ์ถํ๋ค.
concat์ผ๋ก ์ ๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ๋ค. (๊ทธ๋ฅ +๋ก ์ฐ๊ฒฐํด๋ ๋๋ค)
โ๏ธ ๋ฒ์ธ
โ๏ธ toCharArray()๋ก ๋ฌธ์์ด(String)์ ๋ฌธ์ ๋ฐฐ์ด(char[])๋ก ๋ฐ๊พธ๊ธฐ
class Solution {
public String solution(String phone_number) {
char[] ch = phone_number.toCharArray();
for(int i = 0; i < ch.length - 4; i ++){
ch[i] = '*';
}
return String.valueOf(ch);
}
}
String์ ๋ฐฐ์ด๋ก ์นํํ๋ค๋ฉด, ์ธ๋ฑ์ค๋ฅผ ํ์ฉํด ๋ฌธ์๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
๋ฌธ์๋ฅผ ๋ฌธ์์ด๋ก ์นํ ํ for๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด ๋ท 4์๋ฆฌ๋ฅผ ๋นผ๊ณ ๋ชจ๋ *๋ก ์นํํ๋ค.
๋ง์ง๋ง์ char[] ๋ฌธ์ ๋ฐฐ์ด์ ๋ค์ String์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๋ฉ์๋์ ๋ฐํ ํ์ ์ ๋ง์ถฐ์ค์ผํ๋ค.
โ๏ธ ์ ๊ท์์ ํ์ฉํ๊ธฐ
class Solution {
public String solution(String phone_number) {
return phone_number.replaceAll(".(?=.{4})", "*");
}
}
์ ๊ท์์ ๋ฌธ์์ด์์ ์ด๋ค ํจํด์ ์ฐพ๊ฑฐ๋ ๋ฐ๊พธ๋ ๋ฐ ์ฌ์ฉํ๋ค. ์๋์๊ฐ์ ๋ค์ํ ํ์์ด ์๋ค.
์ ๊ท์ | ์๋ฏธ |
\d | ์ซ์ ํ๋ |
. | ์๋ฌด ๋ฌธ์ ํ๋ |
a* | a๊ฐ 0๊ฐ ์ด์ ๋ฐ๋ณต |
.{4} | ๋ฌธ์ ์๋ฌด๊ฑฐ๋ 4๊ฐ |
(?=์กฐ๊ฑด) | ์์ ๋ฐ๊พธ๋ ๋๋ ์กฐ๊ฑด๋ง ๊ฒ์ฌ |
์์ฑ๋ ์ฝ๋์์๋ replaceAll์ ํ์ฉํ์ฌ, ์กฐ๊ฑด์ ๋ง๊ฒ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ๋ค.
์กฐ๊ฑด์์ ์๋ฏธ๋ . ๋ฌธ์๊ฐ (?=.{4}) ๋ค์ 4๊ฐ์ ๋ฌธ์๊ฐ ๋จ์์๋ ๊ฒฝ์ฐ ์ด๋ค.์ฆ, ์ ํ์ค์ ์ฝ๋๋ ๋ค์ 4์๋ฆฌ๊ฐ ๋จ์์๋ ๋ฌธ์๋ ๋ค *๋ก ๋ฐ๊ฟ๋ฌ๋ผ๋ ์๋ฏธ๊ฐ ๋๋ค.
'๋ด์ผ๋ฐฐ์์บ ํ > ์๊ณ ๋ฆฌ์ฆ ์ฝ๋์นดํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] 29. ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2025.03.27 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] 28. ์๋ ์ซ์ ๋ํ๊ธฐ (0) | 2025.03.26 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] 26. ์์ ๋ํ๊ธฐ (0) | 2025.03.24 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] 25. ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด (1) | 2025.03.23 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] 24. ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ (0) | 2025.03.22 |