๋ฐ์ํ
๋จผ์ ๋ฐฐ์ด์ ๋ฐ์ดํฐ ํ๋ํ๋๋ฅผ ๋ค ๋น๊ตํ๋ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ณด์๋ค. ์ญ์๋ ํจ์จ์ฑ ํ ์คํธ์์ ํ๋ฝ! ์ด๋ ๊ฒ ํ์ง ๋ง๋ผ๊ณ ๊ธฐ๋กํด๋ณธ๋ค..
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
for(int i=0; i<phone_book.length; i++) {
for(int j=0; j<phone_book.length; j++) {
if(i!=j) {
if(phone_book[i].startsWith(phone_book[j])) {
answer = false;
break;
}
}
}
}
return answer;
}
}
import java.util.Arrays;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book);
for(int i=0; i<phone_book.length-1; i++) {
for(int j=i+1; j<phone_book.length; j++) {
if(phone_book[j].startsWith(phone_book[i])) {
answer = false;
return answer;
}
}
}
return answer;
}
}
๋จผ์ phone_book์ sortingํ๋๋ฐ๋ ๋ ํจ์จ์ฑ ํ ์คํธ 3, 4์์ ๊ฑธ๋ ค๋ฒ๋ฆฌ๊ณ ๋ง์๋ค.
hash๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋จผ์ ํ์ด๋ณด๊ณ ์ถ์๋๋ฐ.. hash๋ก ํ์ด์ผํ๋ ๋ณด๋ค.
import java.util.HashMap;
class Solution2 {
public boolean solution(String[] phone_book) {
boolean answer = true;
HashMap<String,Integer> hm = new HashMap<String, Integer>();
for (int i=0; i<phone_book.length; i++) {
hm.put(phone_book[i], i);
}
for(int i=0; i<phone_book.length; i++) {
for(int j=0; j<phone_book[i].length(); j++) {
String str = phone_book[i].substring(0,j);
if (hm.containsKey(str)) {
return false;
}
}
}
return answer;
}
}
HashMap์ ์ ํ๋ฒํธ๋ฅผ putํ๊ณ , ๊ฐ ์ ํ๋ฒํธ๋ฅผ ์ ํ๋ฒํธ ๊ธธ์ด๊น์ง ํ๋์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ์๋์ ๋ ๊ทธ ๊ฐ์ ํค๋ก ๊ฐ์ง๋๊ฒ์ด HashMap์ ์์ผ๋ฉด false๋ฅผ ์ถ๋ ฅํ๋ค. ์์ผ๋ฉด true ์ถ๋ ฅ!
728x90
๋ฐ์ํ
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๊ฐ์ฅ ํฐ ์ - ์ ๋ ฌ (0) | 2022.02.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] K๋ฒ์งธ์ - ์ ๋ ฌ (0) | 2022.02.20 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๋ฒ ์คํธ ์จ๋ฒ - ํด์ (0) | 2022.02.20 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์์ฅ - ํด์ (0) | 2022.02.18 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์์ฃผํ์ง ๋ชปํ ์ ์ - ํด์ (0) | 2022.02.18 |
๋๊ธ