์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค.
๊ตฌ์กฐ๋ : 119
๋ฐ์ค์ : 97 674 223
์ง์์ : 11 9552 4421
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
phone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ ๋๋ค.
๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ ๋๋ค.
๊ฐ์ ์ ํ๋ฒํธ๊ฐ ์ค๋ณตํด์ ๋ค์ด์์ง ์์ต๋๋ค.
๐ก HashSet ์ด์ฉ
๐ก ์ ํ๋ฒํธ๋ฅผ ์์์๋ถํฐ ๊ณ์ํด์ ๋๋ ค๊ฐ๋ฉด์ HashSet์์ ์ค๋ณต๋๋ ํค๊ฐ ์๋ ๊ฒ์ฌํจ
1) ์ ํ๋ฒํธ๋ฅผ ์์์๋ถํฐ ๊ณ์ํด์ ๋๋ ค๊ฐ๋ฉด์ HashSet์์ ์ค๋ณต๋๋ ํค๊ฐ ์๋ ๊ฒ์ฌํจ
for(String target : phone_book){
for(int i=0; i<target.length(); i++){
if(set.contains(target.substring(0,i)))
return false;
}
}
import java.util.HashSet;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
HashSet<String> set = new HashSet<String>();
for(String input: phone_book){
set.add(input);
}
for(String target : phone_book){
for(int i=0; i<target.length(); i++){
if(set.contains(target.substring(0,i)))
return false;
}
}
return answer;
}
}
์ฑ๊ณตโจ