Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๋ฌธ์ ๋งํฌ
BOJ 2504 - ๊ดํธ์ ๊ฐ
โ๏ธ ์์๋ ์๊ฐ
2h + ฮฑ
โจ ์๋ ์ฝ๋
1. ๋ฌธ์ ์ค๋ช
์ด ๋ฌธ์ ๋ ์ฐ์ ๋ฌธ์์ด
str
์ ๋ฐ์์ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ธ์ง ํ๋จํ๊ณ , ์ด์ ๋ํ ์ฐ์ฐ์ ํ์ฌ ๊ฐ์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ ๋๋ค.์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ฉด ๋ฌธ์์ด์ ๋ํ์ฌ ์ฐ์ฐํ ๊ฐ์ ์ถ๋ ฅํ๊ณ , ๊ทธ๊ฒ ์๋๋ผ๋ฉด
0
์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค.x
๋ฅผ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ผ๊ณ ํ์์ ๋ ์ฐ์ฐ์ ๊ด๋ จํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.(
x
)
x ๋์ ๊ฐ
*2
[
x
]
x ๋์ ๊ฐ
*3
()
2
[]
3
2. ๋ฌธ์ ๋ถ์
1. ์ณ์ ๋ฌธ์์ด์ธ์ง ํ์ธ
์ฐ์ ๊ดํธ ๋ฌธ์์ด์ด ์ณ์์ง ํ์ธ์ ํด์ผ ํ ๊ฒ์ ๋๋ค. ์ด๋ boolํ์ ๋ณ์๋ฅผ ์ด์ฉํ์ฌ ์ฝ๋ ๋ง์ง๋ง์ ์กฐ๊ฑด๋ฌธ์ผ๋ก 0์ ์ถ๋ ฅํ ์ง, ์ฐ์ฐ ๊ฐ์ ์ถ๋ ฅํ ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๊ดํธ ๋ฌธ์์ด์ด ์ณ์์ง๋ ์คํ์ ์ฌ์ฉํ์ฌ ํ๋จํ ์ ์์ต๋๋ค. ์คํ์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ์ฐพ์๋ณด๋ฉด ์ด๋ ต์ง ์๊ฒ ๋์ค๋ฏ๋ก ๋์ด๊ฐ๋๋ก ํ๊ฒ ์ต๋๋ค.
์คํ์๋
(
๋[
๋ง์push
ํ ์ ์๋ค๊ณ ํฉ์๋ค.1-a. ๋ง์ฝ ๋ฌธ์์ด์ ๋ฌธ์ ๋น๊ต ๋์ค ์คํ์ top์ด
(
์ผ๋)
์ ๋์, ๋๋[
์ผ๋]
์ ๋์๋๋ฉด ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด ๋ ๊ฒ์ ๋๋ค.1-b. ํ์ง๋ง
(
์ด]
์ ๋์๋๊ฑฐ๋,[
์ด)
์ ๋์๋๋ฉด ๋ค์ ๋ถ์์ ํ ๊ดํธ ๋ฌธ์์ด์ ํํ๊ฐ ๋ ๊ฒ์ ๋๋ค.1-c. ์คํ์ด ๋น์ด์์ ๋
)
์ด๋]
๊ฐ ๋จผ์ ๋์จ๋ค๋ฉด ๋ค์ ๋ถ์์ ํ ๊ดํธ ๋ฌธ์์ด์ ํํ๊ฐ ๋ ๊ฒ์ ๋๋ค.1-d. ๋ํ ๋ง์ง๋ง ๋ฌธ์๊น์ง ๋น๊ต ํ ์คํ์ ๋ฌธ์๊ฐ ๋จ์์์ผ๋ฉด ๋ค์ ๊ดํธ ๋ถ์์ ํ ๋ฌธ์์ด์ ํํ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ด ํ๋ก์ธ์ค๋ฅผ bool ํํ์ ๋ณ์์ธ
is_Cstr
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ ๋ฌธ์์ด์ด๋ผ๋ฉด true, ๊ทธ๊ฒ ์๋๋ผ๋ฉด false๋ก ๋ณ์์ ๊ฐ์ ์กฐ์ ํ์ฌ ๊ฐ๋จํ๊ฒ ์ฝ๋๋ฅผ ์ง๋ด ์๋ค. ๋ป์ is collect string ์ ๋๋ค.2. ์ฐ์ฐ ๋ฐฉ๋ฒ
์ด์ ๋ฌธ์์ด ํ๋จ์ ์ด๋ป๊ฒ ํ ์ง ์๊ฐํ์ผ๋ ์ฌ๋ฐ๋ฅธ ๋ฌธ์์ด์ผ ๋ ์ด๋ป๊ฒ ์ฐ์ฐ์ ํ ์ง ๋์ด๊ฐ ๋ด ์๋ค.
๋จผ์ ์์์ ๊ดํธ์ ๋ญํฌ๋ฅผ ๋งค๊ฒจ๋ด ์๋ค. ๋ญํฌ์ ์๋ฏธ๋ ๋ฐ๊นฅ์ชฝ์ ๋๋ฌ ์์ธ ๊ดํธ์ ์ ์ ๋๋ค.
vec
์ ๊ฐ ๋ญํฌ์ ๋์ํ๋ ๊ฐ์ ์ ์ฅํ๋ ๋ฐฐ์ด์ด๋ผ๊ณ ํ ๋vec
์ ์ต์ ํฌ๊ธฐ๋ ์คํ์ ํฌ๊ธฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์ฌ๋ ๊ดํธ๊ฐ ์ค๋ฉด ์คํ์ ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ฏ๋ก ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ ์ ์์ต๋๋ค.๊ทธ ๋ค์์ ๋ซ๋ ๊ดํธ๊ฐ ์์ ๋ ์คํ์
pop
ํ๊ธฐ ์ ์ฐ์ฐ์ ์คํ ํ ์ ์์ต๋๋ค.๋จผ์ ๊ดํธ์ ์ข ๋ฅ์ ๋ฐ๋ผ
value
๊ฐ์ ์ค์ ํฉ์๋ค.()
๋2
,[]
๋3
์ผ๋กvalue
๊ฐ์ ์ค์ ํ ์ ์๊ฒ ์ง์.๊ทธ ํ ๋ค์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ ์ ์์ต๋๋ค.
vec
์ ์ฌ์ด์ฆ๊ฐ ์คํ์ ์ฌ์ด์ฆ์ ๊ฐ์ ๋์ด ๋๋ ๊ดํธ ์์ชฝ์ ๊ณฑํ ๊ฐ์ด ์์ผ๋ฏ๋ก
vec
์ ๋ง์ง๋ง ์์์value
๊ฐ์ ๋ํด์ฃผ๋ฉด ๋ฉ๋๋ค.vec
์ ์ฌ์ด์ฆ๊ฐ ์คํ์ ์ฌ์ด์ฆ๋ณด๋ค ํด ๋์ด ๋๋
vec
์ ๋ง์ง๋ง ์์ *value
์ ๊ทธ ์ vec
์์์ ๋ํด์ฃผ๊ณvec
๋ฅผpop
ํด์ฃผ๋ฉด ๋ฉ๋๋ค.2๋ฒ ์ฐ์ฐ์์๋ง
vec
์pop
ํด์ฃผ๊ธฐ ๋๋ฌธ์vec
์ ์ฌ์ด์ฆ์ ์คํ์ ์ฌ์ด์ฆ๋ฅผ ๋น๊ตํ์ฌ ๊ดํธ ์์ ๊ฐ์ด ์๋์ง ์๋์ง ๋น๊ตํ์ฌ ์ฐ์ฐ์ ๋ฐฉ์์ ์ ํด์ค ์ ์์ต๋๋ค.์ด๋ฅผ ์๊ฐํ๋ฉฐ ์ฝ๋๋ฅผ ์์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ญํฌ๊ฐ 0์ด๋ฉด ๋ฐ๊นฅ์ชฝ์ ๋ ์ด์ ๊ดํธ๊ฐ ์๋ค๋ ๋ป์ด๋ฏ๋ก
pop
์ด ๋ ์ผ์ด ์๊ธฐ ๋๋ฌธ์ ์ต์ข ์ ์ผ๋กvector[0]
๊ฐ ๊ฐ์ด ๋ ๊ฒ์ ๋๋ค.3. ์ต์ข ์ฝ๋
๐ ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ
์คํ์ ๋ฐฐ์ธ ๊ฒธ C++์ stack ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๊ธธ๋ ์ฌ์ฉํด ๋ดค๋๋ฐ vector๋ก ์คํ์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฉค๋ฒ ํจ์ ์ด๋ฆ์ด๋ ์ฌ์ฉ๋ฒ์ด ๊ฐ๋จํด์ ์ข์์ต๋๋ค. ์คํ ์ ๋ฐ์ ์๊ณ ๋๋ ๊ดํธ ๋ฌธ์ ๋ค์ ํ์คํ ์ด๋ป๊ฒ ํ์ด์ผ ํ ์ง ์ ๋ณด์ด๋ค์. ๋ค๋ง ์์ง์ ์ต์ํ์ง ์์ ์กฐ๊ธ ๋ ์ฐ์ตํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.