๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/2812
>> ์ ๊ทผ๋ฐฉ๋ฒ
- ์ซ์ k๊ฐ๋ฅผ ์ง์ ์๋ ๋งจ ์์ ์๊ฐ ๊ฐ์ฅ ํด์๋ก ์ ๋ต์ธ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ป์ ์ ์๋ค.
๋ด๊ฐ ์ฒ์์ ํ์๋ ์ ๊ทผ์ ์ซ์ ์ค์์ ์ ์ผ ํฐ ์ซ์๋ค์ ๋จ๊ธฐ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋๋ฐ,
๊ทธ๋ด๊ฒฝ์ฐ ์ธ๋ฒ์งธ ์์์์ 477584๊ฐ ๋จ์ผ๋ฉด์ 775841์์ ๋ต์ด ํ๋ฆฐ๋ค.
- ์ด๋ฅผ ์ํด ํ์ฌ ์ธ๋ฑ์ค ์์น๊ฐ๋ณด๋ค ์ผ์ชฝ(-1 ์์น)๊ฐ์ด ์๊ณ ์ง์ธ ์ ์๋ ํ์ k๊ฐ ๋จ์์๋ค๋ฉด ํ์ฌ ์ธ๋ฑ์ค ์ผ์ชฝ (-1) ๊ฐ์ ์ง์์ฃผ๋ฉด ๋๋ค.
>> ๋ด๊ฐ ํผ ํ์ด
N, K = map(int, input().split())
num = input()
stack = []
cnt = K
for i in num:
# ํ์ฌ i๊ฐ stack์ ์๋ ๊ฐ๋ณด๋ค ํฌ๋ค๋ฉด ์ ๊ฑฐ
while (cnt > 0 and len(stack) > 0 and stack[len(stack) - 1] < i):
stack.pop(len(stack) - 1)
cnt = cnt - 1
stack.append(i)
answer = ''
for i in range(len(stack) - cnt):
answer += stack[i]
print(answer)
>> <๋ณดํต์ ์ทจ์ค์์ ์ํ ์ฝ๋ฉ ํ ์คํธ with ํ์ด์ฌ> ํ์ด p.173
N, K = map(int, input().split())
num = input()
answer = []
cnt = K
for i in num:
while answer and cnt > 0 and answer[-1] < num:
del answer[-1]
cnt -= 1
stack.append(i)
print(''.join(answer[:n-k]))
์ฑ ์์ ์ ๊ณตํ๋ ํ์ด์์ ๋ณด๋ฉด, ๋ด๊ฐ ํผ ํ์ด์ ๋ค๋ฅด๊ฒ ๊ฐ๋จํ๊ฒ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ถ๋ถ์ด ์์๋ค.
1/ answer[len(stack) -1]
=> answer[-1]
cf1) ๋ฐฐ์ด ์ธ๋ฑ์ค ์์ ์๋ฏธ https://www.codingem.com/python-indexing-from-end/
2/ print(''.join(answer(\[:n-k\]))
cf2) ํ์ด์ฌ ์ฝ๋ฉ ๋์ฅ : ์ฌ๋ผ์ด์ค ์ฌ์ฉํ๊ธฐ https://dojang.io/mod/page/view.php?id=2208
answer = ''
for i in range(len(stack) - cnt):
answer += stack[i]
print(answer)
=> print(''.join(answer([:n-k]))
* 75% ์คํจ
์ฐธ๊ณ ๋ก, 75%์์ ํ๋ ธ์ ๊ฒฝ์ฐ, ๋ง์ง๋ง joinํด์ค๋ n-k๋งํผ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ์ ๋ฃ์์ ๊ฐ๋ฅ์ฑ์ด ํฐ๋ฐ, (๋ด๊ฐ ๊ทธ๋ฌ๋ค.)
์ด๋ถ๋ถ์ ์๋ ์์์์ ๊ฒฐ๊ตญ ๋ง์ง๋ง๊น์ง k ๊ฐ ์ซ์๋ฅผ ์๋ฅด์ง ๋ชปํ์๋, ์์์๋ถํฐ n-k๋งํผ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ๋ฃ์ด์ผ ํ๋ค.
5 1
54321
๋ต : 5432
cf1) ๋ฐฑ์ค ๋ฐ๋ก ์์ https://ideone.com/EWRsQr
cf2) ๋ฐฑ์ค ์ง๋ฌธ๊ฒ์ํ https://www.acmicpc.net/board/view/108820
์๋ ์ฑ <๋ณดํต์ ์ทจ์ค์์ ์ํ ์ฝ๋ฉ ํ ์คํธ with ํ์ด์ฌ> 7-6์ ์ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
http://www.yes24.com/Product/Goods/107478270
'๐ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
baekjoon. ํธ๋ฆฌ ์ํ [Silver I] [python] (0) | 2023.03.25 |
---|---|
baekjoon. ์นด๋2 [python] [Silver IV] (0) | 2023.03.23 |
baekjoon. ํ2 (18258) [python][Silver IV] (0) | 2023.02.20 |
baekjoon. ์ ๋ง๋๊ธฐ (10799) [python][Silver II] (0) | 2023.01.29 |
baekjoon. ์คํ (10828) [python][Silver IV] (0) | 2023.01.16 |