https://school.programmers.co.kr/learn/courses/30/lessons/42577
1. ๋ฌธ์
์ ํ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ด ์ฃผ์ด์ง๊ณ , ๊ฐ ๋ฐฐ์ด์ ์์๊ฐ ๋ค๋ฅธ ์์์ ์ ๋์ฌ๋ฉด false, ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ ๋ฐํํ๋ค.
2. ํ์ด
๋ฐฉ๋ฒ์ 2๊ฐ์ง์ด๋ค.
1. ์ด์คfor๋ฌธ
=> 100๋งx100๋ง = 1์ต
2. ํด์๋งต
=> 100๋ง + 100๋งx20 = 2100๋ง
ํด์๋งต์ด ํจ์ฌ ํจ์จ์ ์ด๋ค.
๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ํด์๋งต์ String๋ฐฐ์ด ์์๋ฅผ ์ ๋ถ ๋ฃ๋๋ค.
2. String๋ฐฐ์ด์ ์์๋ฅผ ๊ฐ๊ฐ ๋ณด๋ฉด์ ์ต๋ ๊ธธ์ด๋งํผ substring์ผ๋ก ์๋ผ์ map์ key๋ก ์กด์ฌํ๋์ง containsKey๋ฅผ ํตํด ์ฒดํฌํ๋ค.
=> containsKey๊ฐ true๋ฉด false๋ฅผ ๋ฐํํ๋ค.
3. ์ฝ๋
import java.util.*;
import java.io.*;
class Solution {
public boolean solution(String[] phone_book) {
Map<String, String> map = new HashMap<> ();
for (String str : phone_book) {
map.put(str, "");
}
for (String str : phone_book) {
for (int i=0; i<str.length(); i++) {
if (map.containsKey(str.substring(0,i))) {
return false;
}
}
}
return true;
}
}
4. ์ฌ๋ด
๋งต์ ์ข ๋ ์์ ์์ฌ๋ก ์ฐ๊ณ ์ถ๋ค. ์ค๋๋ ํ์ดํฑ ~~
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์๊ฒฉ์์คํ - Java (1) | 2023.12.05 |
---|---|
[Programmers] ์์ - Java (0) | 2023.10.11 |
[Programmers] ๋ชจ์์ฌ์ - Java (0) | 2023.10.03 |
[Programmers] ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ - Java (0) | 2023.09.20 |
[Programmers] ํผ๋ก๋ - Java (0) | 2023.09.20 |