-
[๋ฐฑ์ค] 2697 ๋ค์์ ๊ตฌํ๊ธฐ with PythonPS 2022. 3. 1. 22:59728x90๋ฐ์ํ
๐ BOJ 2697 ๋ค์์ ๊ตฌํ๊ธฐ
๐ก ์กฐ๊ฑด
A์ ๋ค์์๋ A์ ๊ตฌ์ฑ์ด ๊ฐ์ผ๋ฉด์, A๋ณด๋ค ํฐ ์ ์ค์์ ๊ฐ์ฅ ์์ ์.
A์ B์ ๊ตฌ์ฑ์ด ๊ฐ๋ค๋ ๋ง์ A๋ฅผ ์ด๋ฃจ๊ณ ์๋ ๊ฐ ์๋ฆฌ์์ ๋ฑ์ฅ ํ์๊ฐ, B๋ฅผ ์ด๋ฃจ๋ ๊ฐ ์๋ฆฌ์์ ๋ฑ์ฅ ํ์์ ๊ฐ์ ๋.
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1<=T<=1,000)๊ฐ ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ T๊ฐ ์ค์๋ ๊ฐ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ฃผ์ด์ง๋ค.ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ์ A์ด๋ค. A๋ ์ต๋ 80์๋ฆฌ ์์ฐ์์ด๋ค.
์ด๋ค ์ A๊ฐ ์ฃผ์ด์ก์ ๋, A์ ๋ค์์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฌธ์ .
๋ง์ฝ, A์ ๋ค์์๊ฐ ์์ ๋๋ BIGGEST๋ฅผ ์ถ๋ ฅํ๋ค.๊ตฌํ, ๋ฌธ์์ด, ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin for _ in range(int(stdin.readline())): data = list(map(int, list(stdin.readline().rstrip()))) length, idx = len(data), 0 for i in range(length - 1, 0, -1): if data[i] > data[i - 1]: if i == length - 1: idx = length - 2 else: idx = i - 1 break a = data[:idx] b = data[idx:] if not a or not b: print('BIGGEST') else: b.sort() for i in range(len(b)): if b[i] > data[idx]: a.append(b.pop(i)) a.extend(b) break print(''.join(map(str, a)))
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
3 123 279134399742 987
์คํ๊ฒฐ๊ณผ
132 279134423799 BIGGEST
โจ๏ธ ๋ฌธ์ ํ์ด
์ ๋ ฅ๋ฐ์ ์ซ์๋ฅผ ์ญ์์ผ๋ก ํ์ํฉ๋๋ค.
์ผ์ชฝ์ ์๋ ๊ฐ์ด ์ค๋ฅธ์ชฝ๋ณด๋ค ์์์ง ๊ฒฝ์ฐ, idx์ ํด๋น ์ธ๋ฑ์ค ๊ฐ์ ๋ฃ์ด์ค๋๋ค.
์ซ์๋ฅผ a ์ b ๋ก ๋๋๋๋ฐ, ๊ทธ ๊ธฐ์ค์ idx ๊ฐ์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
๋๋์ด์ง ๋ ์ซ์ ์ค ํ๋๋ผ๋ ๋น์ด์๋ค๋ฉด, BIGGEST ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
(4)๋ฒ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, b ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , b์ ๊ธธ์ด๋งํผ ์ํํฉ๋๋ค.
์๋ ์ ๋ ฅ ๋ฐ์๋ ์ซ์์ idx ๋ฒ์งธ ์ซ์๋ณด๋ค b๋ฅผ ์ํํ๋ ์ค i๋ฒ์งธ ์ซ์๊ฐ ํฌ๋ค๋ฉด,
i๋ฒ์งธ ์ซ์๋ฅผ ๋ฝ์์ a์ ๋ถ์ด๊ณ , ๋๋จธ์ง b๋ฅผ ๊ทธ๋๋ก ์ด์ด๋ถ์ฌ์ค๋๋ค.a๋ฅผ ๋ฌธ์์ด๋ก ์ถ๋ ฅํฉ๋๋ค.
๐พ ๋๋์
- ๋ฌธ์ ๋ฅผ ํ์ฐธ๋ณด๊ณ ๋ ํค๋งธ๋ ๋ฌธ์ ์๋ค.
- ์๋ ์ด๋ฐ ๊ท์น์ด ์๋ ๊ฒ์ฒ๋ผ ๋ชจ๋ ํ์ด๋ฅผ ์จ๋์ ์ผ๋จ ํ์ด๋ฅผ ์ธ์ ๋ ๊ฒ์ผ๋ก ๊ธฐ์ตํ๋ค.
- ๊ธ์ ์ฐ๋ฉด์ ๋ค์ ํ๋ฒ ํ์ด๋ฅผ ์๊ธฐํด๋ณด๋ ค๊ณ ํ์ผ๋, ์ด๋ ค์ ๋ ๋ฌธ์ ์ค ํ๋์ธ ๊ฒ ๊ฐ๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ง๋๋ฉด ์ฒ์ฒํ ํ์ด๋ฅผ ์๊ฐํด๋ณด์.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 8394 ์ ์ with Python (0) 2022.03.02 [๋ฐฑ์ค] 6443 ์ ๋๊ทธ๋จ with Python (0) 2022.03.02 [๋ฐฑ์ค] 1855 ์ํธ with Python (0) 2022.03.01 [๋ฐฑ์ค] 1342 ํ์ด์ ๋ฌธ์์ด with Python (0) 2022.03.01 [๋ฐฑ์ค] 18243 Small World Network with Python (0) 2022.03.01