ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๋ฐฑ์ค€] 2697 ๋‹ค์Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ with Python
    PS 2022. 3. 1. 22:59
    728x90
    ๋ฐ˜์‘ํ˜•

    ๐Ÿ“Œ BOJ 2697 ๋‹ค์Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ

    ๐Ÿ’ก ์กฐ๊ฑด

    1. A์˜ ๋‹ค์Œ์ˆ˜๋Š” A์™€ ๊ตฌ์„ฑ์ด ๊ฐ™์œผ๋ฉด์„œ, A๋ณด๋‹ค ํฐ ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜.

    2. A์™€ B์˜ ๊ตฌ์„ฑ์ด ๊ฐ™๋‹ค๋Š” ๋ง์€ A๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๊ฐ ์ž๋ฆฌ์ˆ˜์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๊ฐ€, B๋ฅผ ์ด๋ฃจ๋Š” ๊ฐ ์ž๋ฆฌ์ˆ˜์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜์™€ ๊ฐ™์„ ๋•Œ.

    3. ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1<=T<=1,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
      ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ T๊ฐœ ์ค„์—๋Š” ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

    4. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ˆ˜ A์ด๋‹ค. A๋Š” ์ตœ๋Œ€ 80์ž๋ฆฌ ์ž์—ฐ์ˆ˜์ด๋‹ค.

    5. ์–ด๋–ค ์ˆ˜ A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, A์˜ ๋‹ค์Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ.
      ๋งŒ์•ฝ, A์˜ ๋‹ค์Œ์ˆ˜๊ฐ€ ์—†์„ ๋•Œ๋Š” BIGGEST๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

    6. ๊ตฌํ˜„, ๋ฌธ์ž์—ด, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜•์˜ ๋ฌธ์ œ

    ๐Ÿ–ฅ ์†Œ์Šค ์ฝ”๋“œ

    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

    โŒจ๏ธ ๋ฌธ์ œ ํ’€์ด

    1. ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ์—ญ์ˆœ์œผ๋กœ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

    2. ์™ผ์ชฝ์— ์žˆ๋Š” ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ๋ณด๋‹ค ์ž‘์•„์งˆ ๊ฒฝ์šฐ, idx์— ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’์„ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

    3. ์ˆซ์ž๋ฅผ a ์™€ b ๋กœ ๋‚˜๋ˆ„๋Š”๋ฐ, ๊ทธ ๊ธฐ์ค€์€ idx ๊ฐ’์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    4. ๋‚˜๋ˆ„์–ด์ง„ ๋‘ ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋น„์–ด์žˆ๋‹ค๋ฉด, BIGGEST ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    5. (4)๋ฒˆ์˜ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, b ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , b์˜ ๊ธธ์ด๋งŒํผ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.

    6. ์›๋ž˜ ์ž…๋ ฅ ๋ฐ›์•˜๋˜ ์ˆซ์ž์˜ idx ๋ฒˆ์งธ ์ˆซ์ž๋ณด๋‹ค b๋ฅผ ์ˆœํšŒํ•˜๋Š” ์ค‘ i๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ํฌ๋‹ค๋ฉด,
      i๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ๋ฝ‘์•„์„œ a์— ๋ถ™์ด๊ณ , ๋‚˜๋จธ์ง€ b๋ฅผ ๊ทธ๋Œ€๋กœ ์ด์–ด๋ถ™์—ฌ์ค๋‹ˆ๋‹ค.

    7. a๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ๐Ÿ’พ ๋Š๋‚€์ 

    1. ๋ฌธ์ œ๋ฅผ ํ•œ์ฐธ๋ณด๊ณ ๋„ ํ—ค๋งธ๋˜ ๋ฌธ์ œ์˜€๋‹ค.
    2. ์›๋ž˜ ์ด๋Ÿฐ ๊ทœ์น™์ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ๋‘ ํ’€์ด๋ฅผ ์จ๋†”์„œ ์ผ๋‹จ ํ’€์ด๋ฅผ ์™ธ์› ๋˜ ๊ฒƒ์œผ๋กœ ๊ธฐ์–ตํ–ˆ๋‹ค.
    3. ๊ธ€์„ ์“ฐ๋ฉด์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ’€์ด๋ฅผ ์ƒ๊ธฐํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์œผ๋‚˜, ์–ด๋ ค์› ๋˜ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ ๊ฐ™๋‹ค.
    4. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚˜๋ฉด ์ฒœ์ฒœํžˆ ํ’€์ด๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.