https://school.programmers.co.kr/learn/courses/30/lessons/42577
๋ฌธ์ ์ค๋ช
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์
๋๋ค.
- ๊ตฌ์กฐ๋ : 119
- ๋ฐ์ค์ : 97 674 223
- ์ง์์ : 11 9552 4421
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด phone_book ์ด solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ค ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฉด false๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด true๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ฌ์ด ๋ฌธ์ ์ด์ง๋ง ํจ์จ์ฑ ํ ์คํธ์์ ์ ์๊ฐ ๊ณ์ ๊น์๋ ๋ฌธ์ !!
์ง๋ฌธ๋ค ์ค ์ด๋ค ๋ถ์ ์น์ ํ ํ์ด์์ ๊ทธ ํด๋ต์ ์ป์ ์ ์์๋ค.
์ ๋ ฌ์ ํ ํ ๋ฌธ์ ๋ฅผ ํ๋ฉด,
"119"์ "1190"์ ๋น๊ตํ๋ฉด ์ ๋์ด์ด๋ฏ๋ก ๋ค์ ๊ฐ๋ ๋น๊ตํ๋ฉด ๋๋๋ฐ
"119"์ ๊ทธ ๋ค์ ๊ฐ์ธ "1291"์ ๋น๊ตํ๋ฉด ์ ๋์ด๊ฐ ์๋๋ค. ๊ทธ๋ฌ๋ฉด "1291"์ ๋ค์ ๊ฐ๋ค์ ๋น์ฐํ "119"๋ฅผ ์ ๋์ด๋ก ๊ฐ์ง์ง ์์ ๊ฒ์.
์๋๋ฉด?
sort ์ ๋ ฌ ์ ๋ฌธ์์ด์ด๋ฏ๋ก ์ซ์ ๊ธฐ์ค ์ ๋ ฌ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์ด๋ค!! (์ ์๊ฐํด๋ณผ ๊ฒ)
๋ฌธ์์ด์ ๋ด์ฉ์ด ์ซ์์ธ ๊ฒฝ์ฐ, ๋ฌธ์์ด ์ ๋ ฌ ์ "11" > "112" > "12" > "123" ... ์ด๋ค
๊ทธ๋์ ๊ทธ๋ฅ ๋น๊ตํ๋ค๊ฐ ์ ๋์ด๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋ฐ๋ณต๋ฌธ์ break;๋ฅผ ๊ฑธ์ด์ฃผ๋ฉด ํจ์จ์ฑ ํ ์คํธ ํต๊ณผ!!
๋์ ํ์ด
#include <string>
#include <vector>
#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){
string a = phone_book[i];
for(int j=i+1;j<phone_book.size();++j){
string b = phone_book[j].substr(0,a.size());
if(a==b) return false;
else break;
}
}
return true;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/PGS] Lv.3 : ๋ฒ ์คํธ์จ๋ฒ (ํด์ / map์ ๋ ฌ) (0) | 2023.04.13 |
---|---|
[C++/PGS] Lv.2 : ์์/์์ฅ (ํด์) (0) | 2023.04.13 |
[C++/PGS] Lv.? : ์ํธ ํ๊ฐ (๋ค์ด๋ฒ ๊ธฐ์ถ) (0) | 2023.04.13 |
[C++/PGS] Lv.1 : ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (์นด์นด์ค ๊ธฐ์ถ) (0) | 2023.04.12 |
[C++/PGS] Lv.1 : ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (์นด์นด์ค ๊ธฐ์ถ) (0) | 2023.04.12 |