๋ฌธ์
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค. ์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค. ๊ตฌ์กฐ๋ : 119 ๋ฐ์ค์ : 97 674 223 ์ง์์ : 11 9552 4421 ์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ์ฌํญ phone_book์ ๊ธธ์ด๋ 1 ์ด์ 1,000,000 ์ดํ์ ๋๋ค. ๊ฐ ์ ํ๋ฒํธ์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ ๋๋ค. ๊ฐ์ ์ ํ๋ฒํธ๊ฐ ์ค๋ณตํด์ ๋ค์ด์์ง ์์ต๋๋ค. ์ ์ถ๋ ฅ ์์ phone_book return ["119", "97674223", "1195524421"] false ["123","456","789"] true ["12","123","1235","567","88"] false ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 ์์์ ์ค๋ช ํ ์์ ๊ฐ์ต๋๋ค. ์ ์ถ๋ ฅ ์ #2 ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ฌ์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก, ๋ต์ true์ ๋๋ค. ์ ์ถ๋ ฅ ์ #3 ์ฒซ ๋ฒ์งธ ์ ํ๋ฒํธ, “12”๊ฐ ๋ ๋ฒ์งธ ์ ํ๋ฒํธ “123”์ ์ ๋์ฌ์ ๋๋ค. ๋ฐ๋ผ์ ๋ต์ false์ ๋๋ค. ์๋ฆผ 2021๋ 3์ 4์ผ, ํ ์คํธ ์ผ์ด์ค๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ก ์ธํด ์ด์ ์ ํต๊ณผํ๋ ์ฝ๋๊ฐ ๋ ์ด์ ํต๊ณผํ์ง ์์ ์ ์์ต๋๋ค.
ํ์ด
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool isSub(string a, string b) {
int aSize = a.size();
int bSize = b.size();
string shorter = aSize<bSize ? a : b;
string longer = aSize<bSize ? b : a;
for(int i=0; i<shorter.size(); i++) {
if(a[i] != b[i]) {
return false;
}
}
return true;
}
bool solution(vector<string> phone_book) {
int n = phone_book.size();
vector<string>v = phone_book;
sort(v.begin(), v.end());
for(int i=1; i<n; i++) {
if(isSub(v[i-1], v[i])) {
return false;
}
}
return true;
}
'๐ Cpp > [ํ๋ก๊ทธ๋๋จธ์ค] ๊ณ ๋์ Kit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ ๋งต๊ฒ (level2) (2) | 2025.01.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ฃผ์๊ฐ๊ฒฉ (level2) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ชจ์๊ณ ์ฌ (level1) (2) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ต์์ง์ฌ๊ฐํ (level1) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (level2) (0) | 2025.01.05 |