Coding Planet
Hash Map์ด๋? ๋ณธ๋ฌธ
๋ฐ์ํ
1. HashSet์ด๋?
- HashSet์ Java ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ํ๋๋ก, ์ค๋ณต์ ํ์ฉํ์ง ์๋ ๋ฐ์ดํฐ ์งํฉ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. HashSet์ ๋ด๋ถ์ ์ผ๋ก HashMap ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๋ฐ์ดํฐ ์ฝ์ , ์ญ์ , ์กฐํ ์์ ์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์์ต๋๋ค.
- HashSet์ ๋ฐ์ดํฐ์ ์์๋ฅผ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์ฆ, HashSet์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ์์์ HashSet์ ๋ด๋ถ ๋ฐ์ดํฐ ์ ์ฅ ์์๋ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก HashSet์ ๋ฐ์ดํฐ ์์๊ฐ ์ค์ํ์ง ์์ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค.
- HashSet์ Set ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ฏ๋ก, Set ์ธํฐํ์ด์ค์์ ์ ์๋ ๋ชจ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ, HashSet์ null ๊ฐ์ ์ ์ฅํ ์ ์์ต๋๋ค. ํ์ง๋ง, HashSet์ ๋๊ธฐํ๊ฐ ๋์ด์์ง ์์ผ๋ฏ๋ก ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์์ ํ๊ฒ ์ฌ์ฉํ๋ ค๋ฉด ๋๊ธฐํ ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
2. HashSet ์ฌ์ฉ ์ฝ๋
- ์๋ ์ฝ๋๋ ์ ๋ ฅ๋ ๋ฌธ์์ด์ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ์์๋ฅผ ์ง์ผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ๊ฒ์ด๋ค.
- HashSet์ ์ค๋ณต์ ์ ๊ฑฐํ์ง๋ง ์์๋ ๋ณด์ฅ๋์ง ์๋ ๊ฒ์ ํ์ฉํ์ฌ HashSet์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ ๋ค StringBuilder์ ๋ฐ๋ณต๋ฌธ ๋ด์์ ์ถ๊ฐํ์ฌ ์์๋ ์ ์งํ๋ค.
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;
public class RemoveChar {
public String solution(String str) {
StringBuilder sb = new StringBuilder();
Set<Character> set = new HashSet<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (!set.contains(c)) {
sb.append(c);
set.add(c);
}
}
return sb.toString();
}
public static void main(String[] args) {
RemoveChar T = new RemoveChar();
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
}
}
๋ฐ์ํ
'๐ป Java Study > Java ์ด๋ก ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments