- Today
- Total
- ๋ฐฑ์ค
- Algorithm
- pytorch
- dp
- PS
- ์์์ ๋ ฌ
- OOP
- ๋ฌธ๋ฒ
- ์๋ฐ์์ ์
- ๊ตฌํ
- ์กธ์ ์ํ
- BFS
- tree
- ์ธํด
- ๋ฒจ๋งํฌ๋
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ฐฑ์๋
- ํ๋ก๊ทธ๋๋จธ์ค
- Graph
- ๊ทธ๋ฆฌ๋
- ์๋ฃ๊ตฌ์กฐ
- spring
- ์๋ฐ
- array
- ๋ค์ต์คํธ๋ผ
- MST
- CS
- database
- leetcode
- java
Partially Committed
[2017 ํ์คํ์ด] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ ๋ณธ๋ฌธ
[2017 ํ์คํ์ด] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ
WonderJay 2022. 7. 11. 12:47https://school.programmers.co.kr/learn/courses/30/lessons/12973#
์ ๋ ฅ ๋ฌธ์์ด์ด ๋ค์ด์ค๋ฉด "์ง์ง์ด ์ ๊ฑฐํ๊ธฐ" ๊ฐ ๊ฐ๋ฅํ ์ง ํ์ธํ๋ฉด ๋๋ค.
์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋, ๋ฌธ์์ด ์ค ๊ฐ์ ์ํ๋ฒณ์ด 2๊ฐ ๋ถ์ด์์ผ๋ฉด ๊ทธ pair ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ฉฐ
์ด๋ฅผ ๋ฐ๋ณตํ์ฌ ๋ฌธ์์ด์ ๋ ๋ ค๋ฒ๋ฆด ์ ์๋ค๋ฉด ์ง์ง์ด ์ ๊ฑฐํ ์ ์๋ ๋ฌธ์์ด์ธ ๊ฒ์ด๋ค.
๊ฐ์ฅ ์ฒ์์ ๋ ์ค๋ฅธ ํ์ด๋, ๋ฌธ์์ด์ ์ํํ๋ฉด์ ์ง์ง์ด ์ ๊ฑฐํ ์ ์๋ pair ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด
substr ์ ์ด์ฉํด์ ๋ฌธ์์ด์ ์ค์ฌ๋๊ฐ๋ค๊ฐ ๋ฌธ์์ด์ด ๋น๊ฒ ๋๋ฉด ์ง์ง์ด ์ ๊ฑฐํ ์ ์๋ ๋ฌธ์์ด ์ธ ๊ฒ์ด๊ณ
๋ฌธ์์ด์ด ๋จ์์๋ค๋ฉด ์ง์ง์ด ์ ๊ฑฐํ ์ ์๋ ๋ฌธ์์ด์ผ๋ก ํ๋จํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง ํด๋น ๋ฌธ์ ์์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์ต๋ ๊ธธ์ด๋ 1,000,000 ์ด๋ฉฐ ์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ดํ๋ ๊ฒฝ์ฐ ๋ฐ๋ณต๋ฌธ์ ๊ณ์ ๋์์ผ ํ๊ธฐ ๋๋ฌธ์ TLE ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ณด๋ค ํจ์จ์ ์ผ๋ก ํ์ดํ๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
๋ฌธ์์ด์ ์ํํ๋ฉด์ STACK ์ ๊ฐ๊ฐ์ ์ํ๋ฒณ์ ๋ฃ๊ณ , ์ง์ ์ ๋ค์ด์จ ๋ฌธ์์ ํ์ฌ ์คํ์ TOP ์ ๋น๊ตํ์ฌ ์ง์ง์ด ์ ๊ฑฐํก ์ ์๋์ง ํ๋จํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ดํ ๊ฒฝ์ฐ O(N) ์ผ๋ก ํ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
ํ์ด 1.
[C++]
#include <iostream>
#include <string>
#include <iostream>
using namespace std;
bool check(string& s)
{
string u = ""; string v = "";
for(int i = 1 ; i < s.size(); i ++)
{
if(s[i-1] == s[i])
{
u = s.substr(0, i-1);
v = s.substr(i+1, s.size()-1);
s = u + v;
return true;
}
}
return false;
}
int solution(string s)
{
int answer = 0;
while(!s.empty())
{
if(check(s)) continue;
else
{
return 0;
}
}
return 1;
}
ํ์ด2
[C++]
#include <iostream>
#include <string>
#include <iostream>
#include <stack>
using namespace std;
int solution(string s)
{
int answer = 0;
stack<char> st;
for(int i = 0 ; i < s.size(); i ++)
{
st.push(s[i]);
if(st.size() < 2) continue;
else
{
char top_element = st.top();
st.pop();
if(st.top() == top_element)
{
st.pop();
}
else
{
st.push(top_element);
}
}
}
if(st.empty() == true) answer = 1;
else
{
answer = 0;
while(st.empty()) st.pop();
}
return answer;
}
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ํฐ ์ (0) | 2022.07.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2022.07.12 |
[2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด์ญ] ํํ (0) | 2022.07.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๋งต๊ฒ (0) | 2022.07.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2022.07.08 |