-
[C++] ์ ํ๋ฒํธ ๋ชฉ๋ก์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2019. 9. 20. 22:09728x90
#include <string> #include <vector> #include <iostream> #include <algorithm> using namespace std; bool solution(vector<string> phone_book) { sort(phone_book.begin(), phone_book.end()); for (int i = 0; i < phone_book.size() - 1; ++i) { if (phone_book[i] == phone_book[i + 1].substr(0, phone_book[i].size())) return false; } return true; } /*bool solution(vector<string> phone_book) { for (vector<string>::iterator iter1 = phone_book.begin(); iter1 != phone_book.end(); ++iter1) { for (vector<string>::iterator iter2 = iter1 + 1; iter2 != phone_book.end(); ++iter2) { if ((*iter2).find(*iter1) == 0) return false; } } return true; }*/ int main() { vector<string> phone_book; bool ans; phone_book.push_back("119"); phone_book.push_back("97674223"); phone_book.push_back("1195524421"); ans = solution(phone_book); cout << ans << endl; }
๋ฌธ์ ์ค๋ช
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค.- ๊ตฌ์กฐ๋ : 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์ ๋๋ค.
728x90'์ฝ๋ฉํ ์คํธ > ์ฝ๋ฉํ ์คํธ ์ฐ์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] K๋ฒ์งธ์ (0) 2019.09.21 [C++] ๋ฒ ์คํธ์จ๋ฒ (0) 2019.09.21 [C++] ์์ฅ (0) 2019.09.20 [C++] ์์ฃผํ์ง ๋ชปํ ์ ์ (0) 2019.09.20 [C++] ์ง์ฌ๊ฐํ ์ขํ ๊ตฌํ๊ธฐ (2) 2019.05.06