- ์น๋ฆฐ์ด
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- DP
- js
- ์นด์นด์ค ์ฝํ
- go
- ์นด์นด์ค2021
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ๋ค์ต์คํธ๋ผ
- nestjs
- C++
- BFS
- ์ฌ๊ท
- Python
- ํ๋ก๊ทธ๋๋จธ์ค
- ํธ๋ฆฌ
- golang
- LCs
- ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ๋งต
- ์์ฝ๋
- Union-Find
- ๋นํธ๋ง์คํน
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- ์ํฐ๋
- ์ด๋ถํ์
- ๋ฐฑ์ค
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- DFS
- Today
- Total
Hello Ocean! ๐ผ
[๋ฐฑ์ค/C++] 5052. ์ ํ๋ฒํธ ๋ชฉ๋ก ๋ณธ๋ฌธ
๋ฌธ์
https://www.acmicpc.net/problem/5052
์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ด ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ด ์๋์ง ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ฉด, ํ ๋ฒํธ๊ฐ ๋ค๋ฅธ ๋ฒํธ์ ์ ๋์ด์ธ ๊ฒฝ์ฐ๊ฐ ์์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, ์ ํ๋ฒํธ ๋ชฉ๋ก์ด ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์
- ๊ธด๊ธ์ ํ: 911
- ์๊ทผ: 97 625 999
- ์ ์: 91 12 54 26
์ด ๊ฒฝ์ฐ์ ์ ์์ด์๊ฒ ์ ํ๋ฅผ ๊ฑธ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ ํ๊ธฐ๋ฅผ ๋ค๊ณ ์ ์์ด ๋ฒํธ์ ์ฒ์ ์ธ ์๋ฆฌ๋ฅผ ๋๋ฅด๋ ์๊ฐ ๋ฐ๋ก ๊ธด๊ธ์ ํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ์ด ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ด๋ค.
์ ๋ ฅ๋ ์ ํ๋ฒํธ ๋ชฉ๋ก์ ๋ํด ์ผ๊ด์ฑ์ด ์์ผ๋ฉด YES, ์์ผ๋ฉด NO๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค.
๋ชฉ๋ก์ ๋๊ฐ์ ์ ํ๋ฒํธ๊ฐ ๋ ๊ฐ ์ด์ ์กด์ฌํ์ง ์๋๋ค.
ํ์ด
์ ๋ ฅ๋ ์ ํ๋ฒํธ ๋ชฉ๋ก์ ์ ๋ ฌํ๊ฒ ๋๋ฉด,
์ ๋ ฌ๋ ์ํ์์๋
i๋ฒ์งธ ์ ํ๋ฒํธ๊ฐ i+1๋ฒ์งธ ์ ํ๋ฒํธ์ ์ ๋์ด๊ฐ ์๋๋ฉด, ํด๋น ๋ชฉ๋ก์ ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ด๋ค.
-> ์ ๋ ฌ๋ ์ํ์์๋ i๋ฒ์งธ์ i+1๋ฒ์งธ์ ๊ด๊ณ์ ๋ํด์๋ง ๊ฒ์ฌํด์ฃผ๋ฉด ๋๋ค๋ ๊ฒ์ด๋ค !
์ด๋ ๊ฒ๋๋ฉด ๋ฐ๋ณต ํ์๊ฐ ํ ์ค๊ฒ ๋๋ค.
์ ๋์ด์ธ์ง ์ฌ๋ถ๋,
i+1๋ฒ์งธ ์ ํ๋ฒํธ์ 0๋ฒ์งธ ์๋ฆฌ๋ถํฐ i๋ฒ์งธ ์ ํ๋ฒํธ์ ๊ธธ์ด ๋งํผ substr์ ํด์, ํด๋น substr์ด i๋ฒ์งธ ์ ํ๋ฒํธ์ ๊ฐ์์ง ๋น๊ตํ๋ฉด ๋๋ค.
์ฝ๋
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T, N;
cin >> T;
for (int t = 0;t < T;t++) {
cin >> N;
vector<string> numbers;
for (int n = 0;n < N;n++) {
string temp;
cin >> temp;
numbers.push_back(temp);
}
//์ ๋ ฌ
sort(numbers.begin(), numbers.end());
string before = numbers[0];
string now;
bool isOk = true; // ์ผ๊ด์ฑ์ด ์๋ ๋ชฉ๋ก์ธ์ง ์ฌ๋ถ
for (int n = 1;n < N;n++) {
now = numbers[n];
// before๊ฐ now์ ์ํ๋์ง ํ์ธ (before๊ฐ now์ ์ ๋์ด์ธ์ง)
if (now.substr(0, before.size()) == before) {
isOk = false;
break;
}
before = now; // before ๊ฐฑ์
}
if (isOk) cout << "YES" <<endl;
else cout << "NO" << endl;
}
}
๊ฒฐ๊ณผ
์ฐธ๊ณ
B+ tree๋ก ํ ์ ์๋ ๋ฌธ์ ๋ผ๊ณ ํ๋ค! -> ์ด๊ฒ ์ ์ ๋ฐฉ์์ธ๋ฏ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 19535. ใทใทใทใ (0) | 2021.07.13 |
---|---|
[๋ฐฑ์ค/C++] 3584. ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณตํต์กฐ์ (0) | 2021.07.06 |
[๋ฐฑ์ค/C++] 1967. ํธ๋ฆฌ์ ์ง๋ฆ (0) | 2021.06.29 |
[๋ฐฑ์ค/C++] 1600. ๋ง์ด ๋๊ณ ํ ์์ญ์ด (0) | 2021.06.29 |
[๋ฐฑ์ค/C++] 1194. ๋ฌ์ด ์ฐจ์ค๋ฅธ๋ค, ๊ฐ์ (0) | 2021.06.02 |