์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ข ๋ ๋์ ๋ฐฉ๋ฒ์ ์ฝ๋๋ฅผ ๋ถ์ํด๋ดค๋ค.
์ด๋ค ๋ฉ์๋๋ฅผ ์ด๋จ๋ ์ฌ์ฉํด์ผ ํ๋์ง ๊ณ ๋ฏผํด๋ณด๊ณ ๊ฐ๊ฐ์ ์ ์์ ์ฅ๋จ์ ์ ์ดํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด์!
๋ฌธ์ : https://school.programmers.co.kr/learn/courses/30/lessons/12948
์ ์๋ "ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ" ๋ฌธ์ ์ ๋ํ ํจ์จ์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด๋ณด์๋ค.
Java๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ ์๋์ ๊ฐ๋ค.
class Solution {
public String solution(String phone_number) {
String answer = "";
int phoneLength = phone_number.length();
answer = "*".repeat(phoneLength-4);
answer += phone_number.substring(phone_number.length()-4);
return answer;
}
}
โ ์ฒซ ์๋์ ๊ณ ๋ฏผ์
์ฒ์์๋ ๋จ์ํ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ฃผ์ด์ง ๊ฐ์ด ์ต๋ 20์๊น์ง ๋๊ณ , ๋ฌธ์ ๊ฐ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ "๋ง์คํน('*') ์ฒ๋ฆฌ๋ง ํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ฐ, ๋ฐ๋ณต๋ฌธ์ ๊ผญ ๋๋ ค์ผ ํ ๊น?"๋ผ๋ ์๋ฌธ์ด ๋ค์ด์ ๋ฌธ์์ด์ ๋์ฒดํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์๋ณด์๋ค.
replaceAll()๊ณผ replace()๋ ๋ฌธ์์ด์์ ํน์ ํจํด์ ์ฐพ์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๋์ฒดํ๋ ์ญํ ์ ํ๋ค. ํ์ง๋ง ๋ ๋ฉ์๋์๋ ์ฐจ์ด๊ฐ ์๋ค.
String str = "Hello, World!";
String replaced = str.replace("o", "\*");
System.out.println(replaced); // Hell\*, W\*rld!
๋ฐ๋ผ์, replaceAll() ๋ฉ์๋๋ ์ ๊ท ํํ์์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ๋์ฒดํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ฉฐ, replace() ๋ฉ์๋๋ ๋จ์ํ ํน์ ๋ฌธ์ ๋๋ ๋ฌธ์์ด์ ๋์ฒดํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
ํด๋น ๋ฌธ์ ๋ ํน์ ํ ๋จ์ด๋ฅผ ๋์ฒดํ๋๊ฒ ์๋๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์์๋ณด์๋ค.
substring() ๋ฉ์๋๋ ๋ฌธ์์ด์์ ์ํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ์ถ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ๋ฌธ์ ์์๋ ๋ค์ 4์๋ฆฌ๋ง ๊ธฐ์กด๊ฐ์ ์ฌ์ฉํ๊ณ ๋๋จธ์ง๋ ๋ชจ๋ ๋ง์คํน์ฒ๋ฆฌ๋ฅผ ์งํํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ substring()์ผ๋ก ํ์ํ ๋ถ๋ถ๋ง ์ถ์ถํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข๋ค.
class Solution {
public String solution(String phone_number) {
String answer = "";
for(int i=0; i<phone_number.length()-4; i++) {
answer += "*";
}
answer += phone_number.substring(phone_number.length()-4);
return answer;
}
}
substring() ๋ฉ์๋๋ ๋ฌธ์์ด์์ ์ํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ์ถ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์ด ๋ฌธ์ ์์๋ ๋ค์ 4์๋ฆฌ๋ง ๊ธฐ์กด๊ฐ์ ์ฌ์ฉํ๊ณ ๋๋จธ์ง๋ ๋ชจ๋ ๋ง์คํน์ฒ๋ฆฌ๋ฅผ ์งํํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ substring()์ผ๋ก ํ์ํ ๋ถ๋ถ๋ง ์ถ์ถํด์ ์ฌ์ฉํ๋๊ฒ ๋ ์ข๋ค๊ณ ์๊ฐํ๋ค.
String str = "Hello, World!";
String substr = str.substring(7);
System.out.println(substr); // "World!"
String str = "Hello, World!";
String substr = str.substring(0, 5);
System.out.println(substr); // "Hello"
์ฝค๋ง๋ฅผ ์์ฐ์ผ๋ฉด ๊ธฐ์
ํ ์ซ์๋ถํฐ ๋๊น์ง ์ถ๋ ฅ
์ฃผ์์ฌํญ:
์์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ์ฌ substring() ๋ฉ์๋๋ฅผ ์ ์ ํ ํ์ฉํ์ฌ ์ํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ์ถ์ถํ ์ ์์ต๋๋ค.
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);
}
}
.toCharArray();
์ ๋ถ๋ถ์ ๋ฐฐ์ด๋ง ๋ฐ๊พธ๋ฉด ๋๋๊ฑฐ๋ผ ๋ฐ๊พธ๊ณ ์คํธ๋ง์ผ๋ก ๋ค์ ๋ณํํ๊ธฐ
class Solution {
public String solution(String phone_number) {
String answer = "";
for (int i = 0; i < phone_number.length() - 4; i++)
answer += "*";
answer += phone_number.substring(phone_number.length() - 4);
return answer;
}
}
โ ๋ค๋ฅธํ์ด (2-2)
class Solution {
public String solution(String phone_number) {
String answer = "";
int phoneLength = phone_number.length();
answer = "*".repeat(phoneLength-4);
answer += phone_number.substring(phone_number.length()-4);
return answer;
}
}
ํ์ด 2๋ฒ์์๋ ๋๋ฒ ์ฌ์ฉ๋๋ String phone_number์ ๊ธธ์ด๋ฅผ ๋ณ์ํ ์ํค๊ณ ,
.repeat()์ ํ์ฉํ์ฌ phone_number์ ์๋ฆฌ์๊ฐ ๋ฌ๋ผ์ง๋๋ผ๋ (phoneLength-4)๋ฒ๋ง ๋ง์คํน ์ฒ๋ฆฌ๋ฅผ ์งํํ๊ฒ ๋ง๋ ๋ค.
๋ฉ์๋๋ง๋ค ์ด๋ค ๋ฐฉ๋ฒ์ด ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ๋์์ด ๋ ์ง ๋ ๊ณ ๋ฏผํด๋ณด์!