๐ฉ๐ป๐พ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ ๊ท ์์ด๋ ์ถ์ฒ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ ๊ท ์์ด๋ ์ถ์ฒ
์ฅฌ์ค์ด 2024. 1. 23. 18:46ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
2021 KAKAO BLIND RECRUITMENT์์ LV.1์ผ๋ก ์ถ์ ๋ ๋ฌธ์ ์ด๊ณ , ์ ๊ทํํ์์ ์ ๋ฆฌํ๊ธฐ ์ข์ ๋ฌธ์ ๊ฐ์์ ํฌ์คํ ํ๋ ค๊ณ ํ๋ค๐ง
๐ฉ๐ป๐ป ์ ์ฒด ์ฝ๋๋ ์ฐ์ ์๋์ ๊ฐ๋ค.
class Solution {
public String solution(String new_id) {
String answer = "";
answer = new_id.toLowerCase(); // 1๋จ๊ณ
answer = answer.replaceAll("[^a-z0-9-_.]", ""); // 2๋จ๊ณ
answer = answer.replaceAll("\\.{2,}", "."); // 3๋จ๊ณ
answer = answer.replaceAll("^[.]|[.]$", ""); // 4๋จ๊ณ
// 5๋จ๊ณ
if (answer.equals(""))
answer = "a";
// 6-1๋จ๊ณ
if (answer.length() >= 16)
answer = answer.substring(0, 15);
// 6-2๋จ๊ณ
answer = answer.replaceAll("[.]$", "");
// 7๋จ๊ณ
if (answer.length() <= 2) {
char last = answer.charAt(answer.length() - 1);
while (answer.length() < 3)
answer += last;
}
return answer;
}
}
์ ์ฝ๋์์ 5๋จ๊ณ์ 6-1๋จ๊ณ์ ํด๋นํ๋ ์ฝ๋๋ ์๋ ์ฝ๋์ฒ๋ผ ์ผํญ์ฐ์ฐ์๋ก๋ ํํ๊ฐ๋ฅํ๋คโ
answer = answer.equals("") ? "a" : answer; // 5๋จ๊ณ
answer = answer.length() >= 16 ? answer.substring(0, 15) : answer; // 6-1๋จ๊ณ
3, 4๋จ๊ณ์์ ์ฐ์ธ ์ ๊ทํํ์์ ์กฐ๊ธ ์์ํด์ ํ๋ฒ ๋ด๋ณด๋ฉด,
answer = answer.replaceAll("\\.{2,}", "."); // 3๋จ๊ณ
answer = answer.replaceAll("^[.]|[.]$", ""); // 4๋จ๊ณ
3๋จ๊ณ์์์ replaceAll() ํจ์์ ์ฒซ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก ๋ค์ด๊ฐ "\\.{2, }"์
ํน์๋ฌธ์ ์์ `\\`๋ฅผ ๋ถ์ฌ์ค์ `.`์ด ํน์๋ฌธ์์์ ์ธ์์ํค๊ณ , {2, }๋ 2๋ฒ ์ด์์ ๋ฐ๋ณต์์ ํํํ๋ค.
์ถ๊ฐ์ ์ผ๋ก, ์ ๊ทํํ์์์
x{m, n}๋ x์ m๋ฒ ์ด์ n๋ฒ ์ดํ ๋ฐ๋ณต
x{n, }๋ x์ n๋ฒ ์ด์ ๋ฐ๋ณต
x{n}์ x์ n๋ฒ ๋ฐ๋ณต ์ ์๋ฏธํ๋ค.
4๋จ๊ณ์์์ replaceAll() ํจ์์ ์ฒซ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก ๋ค์ด๊ฐ "^[.] | [.]$"์
^[.]์ ๋ฌธ์์ด์ด `.`์ผ๋ก ์์ํจ์, [.]$๋ ๋ฌธ์์ด์ด `.`์ผ๋ก ๋๋จ์ ํํํ๋ค.
๋ ์กฐ๊ฑด ์ฌ์ด์ `|`๋ OR์ ์กฐ๊ฑด์ ์ถ๊ฐํด์ค๋ค.
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2024.01.22 |
---|---|
[PCCP ๋ชจ์๊ณ ์ฌ #1] 1๋ฒ - ์ธํจ์ด ์ํ๋ฒณ (0) | 2023.11.05 |
[ํ๋ก๊ทธ๋๋จธ์ค/Python] ์์ด๊ฐ ์ซ์ด์ (0) | 2023.03.21 |
[ํ๋ก๊ทธ๋๋จธ์ค/Python] ๋๋ฌธ์์ ์๋ฌธ์ (0) | 2023.03.21 |
[์ฝ๋ฉํ ์คํธ ๊ณ ๋์ Kit/Python] ํ(Heap) (0) | 2023.03.14 |