๐ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ
ํ๋ก๊ทธ๋๋จธ์ค ๋ชจ๋ฐ์ผ์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ๊ณ ์ง์๋ฅผ ๋ณด๋ผ ๋ ๊ณ ๊ฐ๋ค์ ์ ํ๋ฒํธ์ ์ผ๋ถ๋ฅผ ๊ฐ๋ฆฝ๋๋ค. ์ ํ๋ฒํธ๊ฐ ๋ฌธ์์ด phone_number๋ก ์ฃผ์ด์ก์ ๋, ์ ํ๋ฒํธ์ ๋ท 4์๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ซ์
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช
ํ๋ก๊ทธ๋๋จธ์ค ๋ชจ๋ฐ์ผ์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ๊ณ ์ง์๋ฅผ ๋ณด๋ผ ๋ ๊ณ ๊ฐ๋ค์ ์ ํ๋ฒํธ์ ์ผ๋ถ๋ฅผ ๊ฐ๋ฆฝ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ฌธ์์ด phone_number๋ก ์ฃผ์ด์ก์ ๋, ์ ํ๋ฒํธ์ ๋ท 4์๋ฆฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ซ์๋ฅผ ์ ๋ถ *์ผ๋ก ๊ฐ๋ฆฐ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
๐ฅ ์ ํ์ฌํญ
- s๋ ๊ธธ์ด 4 ์ด์, 20 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
๐ ์ ์ถ๋ ฅ ์
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
๐คจ ๊ณ ๋ฏผ
- ๋ฌธ์์ด์์ ํ์ํ ๋งํผ๋ง ํ์ฑํ๋ ๊ธฐ์ .
- ์ ํ์กฐ๊ฑด์ด ์ฃผ์ด์ง ์ด์
๐ป ์ฝ๋ฉ
1์ฐจ ์ ์ถ.
class Solution {
public String solution(String phone_number) {
String answer = "";
// ๋ฒํธ์ ๊ธธ์ด๋ฅผ ๋ฐ์์จ๋ค.
int numLen = phone_number.length();
// ์ ํ ์กฐ๊ฑด
if(numLen >= 4 & numLen <= 20) {
// ๋ท์๋ฆฌ 4์๋ฆฌ ์ ์ธํ๊ณ * ํ์๋ฅผ ๊ธธ์ด์ ๋ง๊ฒ ์ฒ๋ฆฌํ๋ for
for (int i = 0; i < numLen - 4; i++) {
answer += "*";
}
// ๋ต์์ง์ ๋ฒํธ ๋ท 4์๋ฆฌ๋ฅผ ์ถ๊ฐ ์ธํ
ํ๋ค.
answer += phone_number.substring(numLen-4, numLen);
}
return answer;
}
}
๐ ์ฑ์
์ง๋๋ฒ์ ์๊ฐ ํ๋ ํ์ฌ ๋๋ฃ ํ์ด ์์ค ํ๋ฒ ๋ณด๋๋ ๋ฐ์์ +=ํ๋ ์์ค๋ฅผ ๋ณด๊ณ ์๋ StringBuilder๋ก ๋ฐ๊ฟ๋ณด๋ผ๊ณ ์กฐ์ธ์ ํด์ฃผ์๋ค. ๊ทธ๋์ ๋๋ ์? ํ๋ฉด์ ๋ญ ์ฐจ์ด์ง ํ๋ฉฐ ๋น๋๋ก ๋ฐ๊ฟ๋ณด์๋ค.
ํ์นธ์ง๋ฆฌ์ฑ ์์๋
I work diligently to become lazy.
xxxelppa.tistory.com
๐ป 2์ฐจ ์ฝ๋ฉ
class Solution {
public String solution(String phone_number) {
StringBuilder answer = new StringBuilder();
// ๋ฒํธ์ ๊ธธ์ด๋ฅผ ๋ฐ์์จ๋ค.
int numLen = phone_number.length();
// ์ ํ ์กฐ๊ฑด
// if(numLen >= 4 & numLen <= 20) {
// ๋ท์๋ฆฌ 4์๋ฆฌ ์ ์ธํ๊ณ * ํ์๋ฅผ ๊ธธ์ด์ ๋ง๊ฒ ์ฒ๋ฆฌํ๋ for
for (int i = 0; i < numLen - 4; ++i) {
answer.append("*");
}
// ๋ต์์ง์ ๋ฒํธ ๋ท 4์๋ฆฌ๋ฅผ ์ถ๊ฐ ์ธํ
ํ๋ค.
answer.append(phone_number.substring(numLen-4, numLen));
// }
return answer.toString();
}
}
๐ 2์ฐจ ์ฑ์
...? += ๊ณผ append์ ์ฐจ์ด์ ์ด ๋ญ๊ธธ๋ ์ด๋ ๊ฒ ๊น์ง ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋๋์ง ๋๋ฌด ๊ถ๊ธํด์ ๊ฒ์ํ์ฌ ๊ณต๋ถ๋ฅผ ํ๋ค.
๐คจ ํจ์จ์ฑ ๋น๊ต
๊ฒฐ๋ก ์ ์ผ๋ก ๋งํ์๋ฉด +=๊ฐ 2๋ฒ ์ด์ ์ฌ์ฉ๋ ๊ฒฝ์ฐ์๋ builder์ append ์ฑ๋ฅ์ด ๋ฐ์ด๋ ๊ฒ ๊ฐ๋ค.
String : (+=) str = str + "1"์ str + "1" ์ ์๋ก์ด ๋ฌธ์์ด๋ก ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๊ณ ๊ทธ ์์น๋ฅผ ์ฐธ์กฐํ๋๋ก ์ฐ์ฐํ๋ค.
StringBuilder : (append) sb.append("1") ์ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ทธ๋๋ก append๊ฐ ๊ฐ๋ฅ.
์ถ์ฒ : ifuwanna.tistory.com/221
[Java] String, StringBuffer, StringBuilder ์ฐจ์ด ๋ฐ ์ฅ๋จ์
Java ์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ฅผ ๋ํ์ ์ธ ํด๋์ค๋ก String , StringBuffer, StringBuilder ๊ฐ ์์ต๋๋ค. ์ฐ์ฐ์ด ๋ง์ง ์์๋๋ ์์ ๋์ด๋ ์ด๋ค ํด๋์ค๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ด์๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค
ifuwanna.tistory.com
โฑ ์์์๊ฐ ๋ฐ ํ๊ธฐ
์ฝ ๋ฌธ์ ํด๊ฒฐ์ 5๋ถ์ ๊ฐ๋ฅํ์ง๋ง ํจ์จ์ฑ๊น์ง ๋ฐ์ง๋ฉฐ ์ฝ๋ฉ์ ํ๋ 1์๊ฐ ์ ๋ ์๋ชจํ ๊ฒ ๊ฐ๋ค.
์๋ฆฟ์ ์ฒดํฌ ํ๋ ๊ฒ๊ณผ String, StringBuilder์ ์ฐจ์ด์ ๊ณผ ์ฑ๋ฅ ์ฐจ์ด๋ฅผ ์ ์ ์์๊ณ ,
String ๊ด๋ จ ๋ฌธ์ ํด๊ฒฐ ํ๋๋ฐ์ ์์ด์ ์ด๋ ํ ๋ฐ์ดํฐ ํ์ ์ ์ ํํด์ผ ํ ์ง ์ ์ ์๋ ๋ฌธ์ ๊ฐ ๋์๋ค.