๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/42577
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ํ๋ฒํธ ๋ชฉ๋ก
์ ํ๋ฒํธ๋ถ์ ์ ํ ์ ํ๋ฒํธ ์ค, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋์ง ํ์ธํ๋ ค ํฉ๋๋ค. ์ ํ๋ฒํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ๊ตฌ์กฐ๋ ์ ํ๋ฒํธ๋ ์์์ด์ ์ ํ๋ฒํธ์ ์ ๋์ฌ์ ๋๋ค. ๊ตฌ์กฐ
programmers.co.kr
์ ํ๋ฒํธ๋ถ์ ๋ฒํธ๋ค ์ค ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์๋ ์ง ํ์ธํ๋ ๋ฌธ์ .
ํ์ด
์ฒ์์๋ ๋ธ๋ฃจํธํฌ์ค๋ก 2์ค ํฌ๋ฌธ์ ์จ์ ๋ชจ๋ ์ ํ๋ฒํธ๋ฅผ ๋์กฐํด์ ํ์ธํ๋ ค๊ณ ํ๋ค.
๊ทธ๋ ๊ฒ ํ๋๋ ์ ํ๋ ํ ์คํธ์์๋ ๋ค ๋ง์์ง๋ง ํจ์จ์ฑ ํ ์คํธ์์ ์คํจํ๋ค.
์๋ฌด๋๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋น๊ตํ๋ ค๊ณ ํ๋ค๋ณด๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
์ ๋ ฌ์ ํด์ ์ด๋ป๊ฒ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐ์ ํ์ง๋ง ์ด๋ป๊ฒ ํด์ผํ ์ง ์ ๋ ์ค๋ฅด์ง๊ฐ ์์๋ค.
๋๋ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ์ ๋ ฌํ๊ฒ ๋๋ฉด ์ซ์๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋๋ฐ, ๋ฌธ์์ด์ด๋ค ๋ณด๋ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ์ด ๋๋ค.
์ด๋ i๋ฒ์งธ ๋ฒํธ์ ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์ ์ฌํ ๋ฒํธ๋ i + 1๋ฒ์งธ์ ์๋ ๋ฒํธ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ for๋ฌธ์ 1๋ฒ๋ง ๋๋ฉด์ i๋ฒ์งธ ์ซ์์ i + 1 ๋ฒ์งธ ์ซ์๋ง ์ ๋์ฌ๊ฐ ๊ฐ์์ง ํ์ธํด์ฃผ๋ฉด ๋๋ค.
๋น๊ตํ๋ ๋ฐฉ๋ฒ์ ๋๋ substr์ ์ด์ฉํด์ ๋น๊ตํ๋ ๋ ๋ฌธ์์ด์ค ๊ธธ์ด๊ฐ ์งง์ ๋ฌธ์์ด์ ๊ธฐ์ค์ผ๋ก ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ฐ๊ฒ ๋ง๋ ํ ๋น๊ตํ๋ ๋ฐฉ๋ฒ์ ์ผ๋๋ฐ, find ํจ์๋ฅผ ์ผ์ด๋ ๋ ๊ฒ๊ฐ๋ค.
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
sort(phone_book.begin(), phone_book.end());
for(int i = 0; i<phone_book.size() - 1; i++){
string Criterion = phone_book[i];
string Compare = phone_book[i + 1];
int Min_length = min(Criterion.length(), Compare.length());
if(Criterion.substr(0,Min_length) == Compare.substr(0,Min_length))
return false;
}
return answer;
}
|
cs |
์ ๋ ฌ ํ ๋น๊ตํ๋๊ฒ ์ด ๋ฌธ์ ์ ํต์ฌ
'ํ๋ก๊ทธ๋๋จธ์ค > 2๋จ๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ํ๊ฒ ๋๋ฒ (0) | 2022.06.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2022.06.15 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ํ๋ฆฐํฐ (0) | 2022.06.15 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2022.06.15 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ์คํ์ฑํ ๋ฐฉ (0) | 2022.06.14 |