๋ฌธ์ ์ค๋ช
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค.
์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์
๋๋ค.
- ๊ตฌ์กฐ๋ : 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์
๋๋ค.
์ฝ๋
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
if( phone_book.empty() || phone_book.size() > 1000000 )
return answer;
unordered_map<string, int> hashMap;
for( auto elem: phone_book )
{
hashMap[elem] += 1;
}
for(int i = 0; i < (int)phone_book.size(); i++)
{
string phone_number = "";
for(int j = 0; j < (int)phone_book[i].size(); j++) {
phone_number += phone_book[i][j];
if(hashMap[phone_number] && phone_number != phone_book[i])
answer = false;
}
}
return answer;
}
์ด์ ์ ํ์๋ ์์ฃผํ์ง ๋ชปํ ์ ์๋ ๋น์ทํ ๋ฌธ์ ๋ค
๋๋ฌด ์ข์ ๋ต์๋ค์ด ๋ง์์ ์กฐ๊ธ๋ง ์์ ํด์ ์ฌ๋ ธ๋น
์ฐ์ ํด์ฌ ๋งต์ ์ฌ์ฉํ์ฌ phone_book์ ๋ํ map์ ๋ง๋ค์ด์ฃผ์๋ค
ํด์ฌ ๋งต์ ์๋ for๋ฌธ์์ phone_number์ ๋ํ key๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค
๋ํ C++์์ String์ Index์ ์ ๊ทผ ๊ฐ๋ฅํ๋ค๋ ์ ์ ์ด์ฉํด์
๋ฌธ์์ด ์์ฒด๋ฅผ ๊ฒ์ํ์ง ์๊ณ ์ธ๋ฑ์ค ๋ณ๋ก ๊ฒ์ํ๊ฑฐ๊ฐ ์ข์ ๊ฒ ๊ฐ๋ค
(int)phone_book ์ ์์ (int)๋ฅผ ๋ถ์ฌ์ค ์ด์ ๋
ํ๋ก๊ทธ๋๋จธ์ค ๋ง๊ณ ๋ด ์ฅ๋น์์ makeํ๋๊น warning์ด ๋์
๋ณด์์ ํด์ฃผ์๋ค
'๐Algorithm ------------ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ ๋ ฌ/k๋ฒ์งธ์/C++ (0) | 2021.07.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ํ/๋๋งต๊ฒ/C++ (0) | 2021.07.28 |
ํ๋ก๊ทธ๋๋จธ์ค - ์คํ/ํ/๊ธฐ๋ฅ๊ฐ๋ฐ/C++ (0) | 2021.07.28 |
ํ๋ก๊ทธ๋๋จธ์ค - ํด์/์์ฅ/C++ (0) | 2021.07.26 |
ํ๋ก๊ทธ๋๋จธ์ค - ํด์/์์ฃผํ์ง ๋ชปํ ์ ์/C++ (0) | 2021.07.23 |