์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์
๋๋ค.
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
phone_book | return |
---|---|
["119", "97674223", "1195524421"] | false |
["123","456","789"] | true |
["12","123","1235","567","88"] | false |
์์์ ์ค๋ช ํ ์์ ๊ฐ์ต๋๋ค.
ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ฌ์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก, ๋ต์ true์ ๋๋ค.
์ฒซ ๋ฒ์งธ ์ ํ๋ฒํธ, โ12โ๊ฐ ๋ ๋ฒ์งธ ์ ํ๋ฒํธ โ123โ์ ์ ๋์ฌ์ ๋๋ค. ๋ฐ๋ผ์ ๋ต์ false์ ๋๋ค.
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book);
for (int i = 0; i < phone_book.length; i++) {
for (int j = i + 1; j < phone_book.length; j++) {
if (phone_book[j].startsWith(phone_book[i])) {
answer = false;
}
else {
continue;
}
}
}
return answer;
}
}
๋๋ ์ฐ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ฉด ์ ๋์ฌ๊ฐ ๊ฐ์ ๋ฌธ์๊ฐ ์์ ๊ฒฝ์ฐ, ๊ทธ ์ ๋์ฌ๊ฐ ๋ค๋ฅธ ๋ฌธ์๋ค๋ณด๋ค ๋ฌด์กฐ๊ฑด ์์ ์ ๋ ฌ๋๊ณ , ๋๋ ํด๋น ์ ๋์ฌ ๋ค์ ์๋ ์์๋ค์ด๋๋ง ๋น๊ต๋ฅผ ํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ์ด์ค for๋ฌธ์ ์ฌ์ฉํด i
๋ฒ์งธ ๋ฌธ์์ด์ ๊ฐ์ง๊ณ i+1
๋ถํฐ ๋๊น์ง ๋น๊ตํด ๋๊ฐ๋ฉฐ, ๋ง์ฝ ํ์ฌ์ ๋ฌธ์์ด์ด i
๋ฒ์งธ ๋ฌธ์์ด๋ก ์์ํ๋ค๋ฉด, answer
์ false๊ฐ ์ ์ฅ๋๋๋ก ๊ตฌํํ๋ค.
๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๋ ํต๊ณผํ์์ผ๋, ์ญ์ ์ด์ค for๋ฌธ์ ์จ์ ๊ทธ๋์ ์ธ์ง ์๋นํจ์จ์ ์ด๋ผ๋ ๊ฒฐ๊ณผ๋ฅผ ํต๋ณด ๋ฐ์๋ค.
๊ทธ๋ ๊ฒ for๋ฌธ์ ์ด๋ป๊ฒ ํ ๋ฒ๋ง ์ธ ์ ์์ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ, ๊ฐ์ ์ ๋์ฌ๋ฅผ ๊ฐ์ง๋ ๋ฌธ์์ด์ ํด๋น ์ ๋์ฌ ๋ฌธ์์ด ๋ฐ๋ก ๋ค์ ์์นํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ค.
์ฆ, ๋ชจ๋ ๋ฌธ์์ด์ ์๋ก ๋น๊ตํ์ง ์๊ณ ๋ฐ๋ก ๋ค ์ธ๋ฑ์ค์ ๋ฌธ์์ด์ด๋๋ง ๋น๊ตํ๋ฉด ๋๋ ๊ฒ์ด๋ค!
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book);
for (int i = 1; i < phone_book.length; i++) {
if (phone_book[i].startsWith(phone_book[i - 1])) {
answer = false;
}
else {
continue;
}
}
return answer;
}
}
๊ทธ๋์ ์ด๋ ๊ฒ i
๋ฅผ 1๋ถํฐ ๋๋ฆฌ๊ณ ,
i
๋ฒ์งธ ๋ฌธ์์ด์ด ๋ฐ๋ก ์์ ๋ฌธ์์ด๋ก ์์ํ๋ฉด,
์ฆ, i-1
๋ฒ์งธ ๋ฌธ์์ด์ด ํ์ฌ ๋ฌธ์์ด์ ์ ๋์ฌ๋ผ๋ฉด,
answer
๋ณ์์ false๋ฅผ ์ ์ฅํด์ค์ผ๋ก์จ ์ข ๋ ํจ์จ์ ์ผ๋ก ๊ตฌํํ ์ ์์๋ค!
๐