๐ 1. ๋ฌธ์ ์ค๋ช

๐ก 2. ํ์ด๊ณผ์
์ด ๋ฌธ์ ๋ ์ฃผ์ด์ง ๋ฌธ์์ด my_string์์ ์ค๋ณต๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ๊ณ , ์๋์ ์์๋ฅผ ์ ์งํ๋ฉด์ ์ค๋ณต์ด ์๋ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ ๊ฒ์ด๋ค.
1. StringBuilder ์ ์ธ
2. ์ผ๋ฐ์ ์ธ HashSet์ ์ฌ์ฉํ๋ฉด ์์๊ฐ ๋ณด์ฅ๋์ง ์์ง๋ง, LinkedHashSet์ ์ฝ์
์์๋ฅผ ์ ์งํ๋ค.
3. ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํํ ํ, ํ ๊ธ์์ฉ ์ํํ๋ฉด์ StringBuilder์ ๋ฌธ์๋ฅผ ์ถ๊ฐํ๋ค.
- 3-1. ์ด ๋, LinkedHashSet์ add() ๋ฉ์๋๋ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฐ์ด๋ฉด false๋ฅผ ๋ฐํํ๊ณ , ์๋ก์ด ๊ฐ์ด๋ฉด true๋ฅผ ๋ฐํํ๋ค.
- 3-2. sb.append(c)๋ฅผ ํธ์ถํ์ฌ StringBuilder์ ์ฒ์ ๋ฑ์ฅํ ๋ฌธ์๋ง sb์ ์ถ๊ฐ๋๋ค.
4. ๋ง์ง๋ง์ผ๋ก StringBuilder์ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํ๋ค.
๐จโ๐ป 3. ์ ๋ต์ฝ๋
import java.util.LinkedHashSet;
class Solution {
public String solution(String my_string) {
StringBuilder sb = new StringBuilder();
LinkedHashSet<Character> s = new LinkedHashSet<>();
for (char c : my_string.toCharArray()) {
if (s.add(c)) { // ์ค๋ณต์ด ์๋๋ผ๋ฉด ์ถ๊ฐ
sb.append(c);
}
}
return sb.toString();
}
}
๐๐ป 4. ์ข์์ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ์ฝ๋
set์ ํน์ง์ ์ด์ฉํ ์ฝ๋
import java.util.*;
class Solution {
public String solution(String my_string) {
String[] answer = my_string.split("");
Set<String> set = new LinkedHashSet<String>(Arrays.asList(answer));
return String.join("", set);
}
}
Arrays.asList(answer)๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ ํ, ์ด๊ฑธ ๋ฐ๋ก LinkedHashSet์ ์ ์ฅํด์ ์ค๋ณต์ ์๋์ผ๋ก ์ ๊ฑฐํ ์ฝ๋. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ์ ์์๊ฐ ์ ์ง ๋๋ค.
'Algorithm > JAVAํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ๊ฐ๊น์ด ์ ๋ฌธ์ ํ์ด (6) | 2025.03.31 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์ผ๊ฐํ์ ์์ฑ์กฐ๊ฑด(1) ๋ฌธ์ ํ์ด (4) | 2025.03.31 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ๋ฐฐ์ด ์์์ ๊ธธ์ด ๋ฌธ์ ํ์ด (8) | 2025.03.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์ปจํธ๋กค ์ ํธ ๋ฌธ์ ํ์ด (4) | 2025.03.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์์ธ์๋ถํด ๋ฌธ์ ํ์ด (SET) (5) | 2025.03.28 |
๐ 1. ๋ฌธ์ ์ค๋ช

๐ก 2. ํ์ด๊ณผ์
์ด ๋ฌธ์ ๋ ์ฃผ์ด์ง ๋ฌธ์์ด my_string์์ ์ค๋ณต๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ๊ณ , ์๋์ ์์๋ฅผ ์ ์งํ๋ฉด์ ์ค๋ณต์ด ์๋ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ ๊ฒ์ด๋ค.
1. StringBuilder ์ ์ธ
2. ์ผ๋ฐ์ ์ธ HashSet์ ์ฌ์ฉํ๋ฉด ์์๊ฐ ๋ณด์ฅ๋์ง ์์ง๋ง, LinkedHashSet์ ์ฝ์
์์๋ฅผ ์ ์งํ๋ค.
3. ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํํ ํ, ํ ๊ธ์์ฉ ์ํํ๋ฉด์ StringBuilder์ ๋ฌธ์๋ฅผ ์ถ๊ฐํ๋ค.
- 3-1. ์ด ๋, LinkedHashSet์ add() ๋ฉ์๋๋ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฐ์ด๋ฉด false๋ฅผ ๋ฐํํ๊ณ , ์๋ก์ด ๊ฐ์ด๋ฉด true๋ฅผ ๋ฐํํ๋ค.
- 3-2. sb.append(c)๋ฅผ ํธ์ถํ์ฌ StringBuilder์ ์ฒ์ ๋ฑ์ฅํ ๋ฌธ์๋ง sb์ ์ถ๊ฐ๋๋ค.
4. ๋ง์ง๋ง์ผ๋ก StringBuilder์ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํ๋ค.
๐จโ๐ป 3. ์ ๋ต์ฝ๋
import java.util.LinkedHashSet; class Solution { public String solution(String my_string) { StringBuilder sb = new StringBuilder(); LinkedHashSet<Character> s = new LinkedHashSet<>(); for (char c : my_string.toCharArray()) { if (s.add(c)) { // ์ค๋ณต์ด ์๋๋ผ๋ฉด ์ถ๊ฐ sb.append(c); } } return sb.toString(); } }
๐๐ป 4. ์ข์์ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ์ฝ๋
set์ ํน์ง์ ์ด์ฉํ ์ฝ๋
import java.util.*; class Solution { public String solution(String my_string) { String[] answer = my_string.split(""); Set<String> set = new LinkedHashSet<String>(Arrays.asList(answer)); return String.join("", set); } }
Arrays.asList(answer)๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ ํ, ์ด๊ฑธ ๋ฐ๋ก LinkedHashSet์ ์ ์ฅํด์ ์ค๋ณต์ ์๋์ผ๋ก ์ ๊ฑฐํ ์ฝ๋. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ์ ์์๊ฐ ์ ์ง ๋๋ค.
'Algorithm > JAVAํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ๊ฐ๊น์ด ์ ๋ฌธ์ ํ์ด (6) | 2025.03.31 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์ผ๊ฐํ์ ์์ฑ์กฐ๊ฑด(1) ๋ฌธ์ ํ์ด (4) | 2025.03.31 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ๋ฐฐ์ด ์์์ ๊ธธ์ด ๋ฌธ์ ํ์ด (8) | 2025.03.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์ปจํธ๋กค ์ ํธ ๋ฌธ์ ํ์ด (4) | 2025.03.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์์ธ์๋ถํด ๋ฌธ์ ํ์ด (SET) (5) | 2025.03.28 |