deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[python] ๋ฐฑ์ค€ - 2493. ํƒ‘
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 2493. ํƒ‘

2020. 11. 25. 10:09
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • G4 | ์ž๋ฃŒ๊ตฌ์กฐ, ์Šคํƒ

๋ฌธ์ œ๋ฅผ ํ‘ผ ๋’ค ๋ฌธ์ œ ์œ ํ˜•์„ ๋ดค๋Š”๋ฐ ์Šคํƒ์ด๋ผ๊ณ  ๋˜์–ด์žˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋‚ด ํ’€์ด๋Š” ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋ณด๋‹ค ํšจ์œจ์ด ์ข‹๊ฒŒ ๋‚˜์™”๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ‰๊ท ์ธ๋“ฏ.

 

ํ’€์ด ๋ฐฉ๋ฒ•

1๋ฒˆํƒ‘๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ํƒ‘ ์ˆœ์œผ๋กœ ํƒ์ƒ‰ํ–ˆ๋‹ค.

  • ํ˜„์žฌํƒ‘๊ณผ ์ด์ „ํƒ‘๊ณผ ๊ฐ™์„ ๋•Œ
    • ํ˜„์žฌํƒ‘์˜ ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ํƒ‘์€ ์ด์ „ํƒ‘์˜ ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ํƒ‘๊ณผ ๊ฐ™๋‹ค.
  • ํ˜„์žฌํƒ‘์ด ์ด์ „ํƒ‘๋ณด๋‹ค ๋‚ฎ์„ ๋•Œ
    • ํ˜„์žฌํƒ‘์˜ ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ํƒ‘์€ ์ด์ „ํƒ‘์ด๋‹ค.
  • ํ˜„์žฌํƒ‘์ด ์ด์ „ํƒ‘๋ณด๋‹ค ๋†’์„ ๋•Œ ๐Ÿฑ‍๐Ÿ‰
    • ์ด์ „ํƒ‘์˜ ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•œ ํƒ‘์œผ๋กœ ๊ฑด๋„ˆ ๋›ด๋‹ค.
    • ๊ทธ ํƒ‘์„ ์œ„์˜ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒดํฌํ•œ๋‹ค.
    • ์•„์ง ํ˜„์žฌํƒ‘์ด ๋†’์€ ์ƒํƒœ๋ผ๋ฉด ๋˜ ๊ทธ ํƒ‘์˜ ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•œ ํƒ‘์œผ๋กœ ๊ฑด๋„ˆ ๋›ด๋‹ค.

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

 if __name__ == '__main__':
    N = int(input())
    TOP = list(map(int, input().split()))
    answer = [0] * N

    for i in range(1, N):
        j = i - 1
        while j >= 0:
            if TOP[i] == TOP[j]:  # ์ด์ „๊ณผ ๊ฐ™์„ ๋•Œ
                answer[i] = answer[j]
                break
            elif TOP[i] > TOP[j]:  # ์ด์ „๋ณด๋‹ค ๋†’์„ ๋•Œ
                j = answer[j] - 1
            else:  # ์ด์ „๋ณด๋‹ค ๋‚ฎ์„ ๋•Œ
                answer[i] = j + 1
                break

    print(' '.join(list(map(str, answer))))

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

๋งํฌ: https://www.acmicpc.net/problem/2493

 

2493๋ฒˆ: ํƒ‘

์ฒซ์งธ ์ค„์— ํƒ‘์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1 ์ด์ƒ 500,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ํƒ‘๋“ค์˜ ๋†’์ด๊ฐ€ ์ง์„ ์ƒ์— ๋†“์ธ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ํƒ‘๋“ค์˜ ๋†’์ด๋Š” 1

www.acmicpc.net

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] ๋ฐฑ์ค€ - 1916. ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ  (0) 2020.11.27
[python] ๋ฐฑ์ค€ - 2573. ๋น™์‚ฐ  (0) 2020.11.26
[python] SWEA - 5986. ์ƒˆ์ƒ˜์ด์™€ ์„ธ ์†Œ์ˆ˜  (0) 2020.11.24
[python] ๋ฐฑ์ค€ - 13458. ์‹œํ—˜ ๊ฐ๋… (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)  (0) 2020.11.23
[python] SWEA - 6057. ๊ทธ๋ž˜ํ”„์˜ ์‚ผ๊ฐํ˜•  (0) 2020.11.22
    'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [python] ๋ฐฑ์ค€ - 1916. ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ
    • [python] ๋ฐฑ์ค€ - 2573. ๋น™์‚ฐ
    • [python] SWEA - 5986. ์ƒˆ์ƒ˜์ด์™€ ์„ธ ์†Œ์ˆ˜
    • [python] ๋ฐฑ์ค€ - 13458. ์‹œํ—˜ ๊ฐ๋… (์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ ๋ฌธ์ œ)
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”