https://school.programmers.co.kr/learn/courses/30/lessons/12973
๋ฌธ์ ์ค๋ช
์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋, ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ํฉ๋๋ค. ๋จผ์ ๋ฌธ์์ด์์ ๊ฐ์ ์ํ๋ฒณ์ด 2๊ฐ ๋ถ์ด ์๋ ์ง์ ์ฐพ์ต๋๋ค. ๊ทธ๋ค์, ๊ทธ ๋์ ์ ๊ฑฐํ ๋ค, ์๋ค๋ก ๋ฌธ์์ด์ ์ด์ด ๋ถ์ ๋๋ค. ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด์ ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ๋ค๋ฉด ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๊ฐ ์ข ๋ฃ๋ฉ๋๋ค. ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์๋์ง ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์์ผ๋ฉด 1์, ์๋ ๊ฒฝ์ฐ 0์ ๋ฆฌํดํด์ฃผ๋ฉด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฌธ์์ด S = baabaa ๋ผ๋ฉด
b aa baa → bb aa → aa →
์ ์์๋ก ๋ฌธ์์ด์ ๋ชจ๋ ์ ๊ฑฐํ ์ ์์ผ๋ฏ๋ก 1์ ๋ฐํํฉ๋๋ค.
์ ํ์ฌํญ
- ๋ฌธ์์ด์ ๊ธธ์ด : 1,000,000์ดํ์ ์์ฐ์
- ๋ฌธ์์ด์ ๋ชจ๋ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
s | result |
baabaa | 1 |
cdcd | 0 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
์์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
๋ฌธ์์ด์ด ๋จ์์์ง๋ง ์ง์ง์ด ์ ๊ฑฐํ ์ ์๋ ๋ฌธ์์ด์ด ๋ ์ด์ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ 0์ ๋ฐํํฉ๋๋ค.
โป ๊ณต์ง - 2020๋ 6์ 8์ผ ํ ์คํธ์ผ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
๋ด ํด๋ต
#include <string>
#include <stack>
using namespace std;
int solution(string s)
{
stack<char> str;
for (int i = 0; i < s.length(); ++i)
{
if (str.empty() || str.top() != s[i])
str.push(s[i]);
else if (str.top() == s[i])
str.pop();
}
if (str.empty())
return 1;
return 0;
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค / level.1 / ์ฒด์ก๋ณต(C++) (0) | 2023.05.07 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค / level.1 / ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ(C++) (0) | 2023.05.06 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ๋ค์ ํฐ ์ซ์(C++) (0) | 2023.05.01 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ํผ๋ณด๋์น ์(C++) (0) | 2023.04.25 |
[๋ฐฑ์ค] ์ค๋ชฉ(C++) (0) | 2023.04.24 |