Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 2014. ์†Œ์ˆ˜์˜ ๊ณฑ

deo2kim 2020. 11. 9. 11:03
๋ฐ˜์‘ํ˜•

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

  • G2 | ์ˆ˜ํ•™, ์šฐ์„ ์ˆœ์œ„ ํ

DP๋กœ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ์—ญ์‹œ ์•„๋‹ˆ์—ˆ๋‹ค. 2**31 ๊ธธ์ด์˜ ๋ฐฐ์—ด์€ ์ข€ ์•„๋‹Œ๊ฑฐ ๊ฐ™๋‹ค.

์–ด๋ ค์›Œ์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜๋ฅผ ๋ณด๋‹ˆ ์šฐ์„ ์ˆœ์œ„ ํ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

์šฐ์„ ์ˆœ์œ„ํ๋Š” ํ ์•ˆ์— ์žˆ๋Š” ๊ฐ’๋“ค ์ค‘ ์ตœ์†Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒŒ์ด์ฌ์—์„œ๋Š” ํž™ํ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•˜๊ณ  ํž™ํ๋Š” ์ตœ์†Œํž™ ๊ธฐ๋ฐ˜์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

 

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

  1. ์ตœ์ดˆ ํž™ํ์— ์ฃผ์–ด์ง„ ์†Œ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค.
  2. ํž™ํ์—์„œ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด๋ฉด์„œ ์ฃผ์–ด์ง„ ์†Œ์ˆ˜๋“ค์„ ๊ณฑํ•ด์„œ ํž™ํ์— ๋„ฃ๋Š”๋‹ค.
    1. (์ด ๋•Œ ๊บผ๋‚ด๋Š” ํšŸ์ˆ˜๊ฐ€ ์†Œ์ˆ˜์˜ ๊ณฑ๋“ค ์ค‘์—์„œ N๋ฒˆ์งธ ์ˆ˜์ด๋‹ค)
  3. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต์ด ๋ฐœ์ƒํ•œ๋‹ค. ( 2*3 ์ด๋‚˜ 3*2 )
  4. 3*2๋Š” ๋˜์ง€๋งŒ 2*3์€ ์•ˆ๋œ๋‹ค๋Š” ์‹์œผ๋กœ ํž™ํ์—์„œ ๊บผ๋‚ธ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด ๊ทธ ๋‹ค์Œ ์†Œ์ˆ˜๋Š” ๊ฑด๋„ˆ๋›ด๋‹ค.
  5. ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

 

 

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

 import heapq

if __name__ == '__main__':
    K, N = map(int, input().split())
    prime = list(map(int, input().split()))

    pq = []  # ๊ณฑํ•œ ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ๋ฆฌ์ŠคํŠธ (์šฐ์„ ์ˆœ์œ„ ํ)
    for num in prime:
        heapq.heappush(pq, num)

    for i in range(N):  # ํ์—์„œ N๋ฒˆ ๋นผ๋ฉด ๊ทธ ๊ฐ’์ด N๋ฒˆ์งธ ๊ฐ’์ด๋‹ค. (์šฐ์„ ์ˆœ์œ„ ํ)
        num = heapq.heappop(pq)
        for j in range(K):  # ๋บธ ๊ฐ’์— ์†Œ์ˆ˜๋ฅผ ๊ณฑํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋งŒ๋“ ๋‹ค.
            new_num = num * prime[j]
            heapq.heappush(pq, new_num)

            if num % prime[j] == 0:  # 2 X 3์€ ๋˜์ง€๋งŒ 3 X 2๋Š” ์•ˆ๋˜๋Š” ๋А๋‚Œ์œผ๋กœ ์ค‘๋ณต์ œ๊ฑฐ
                break
    else:
        print(num)

 

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

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

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

 

2014๋ฒˆ: ์†Œ์ˆ˜์˜ ๊ณฑ

์ฒซ์งธ ์ค„์— K(1 โ‰ค K โ‰ค 100), N(1 โ‰ค N โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” K๊ฐœ์˜ ์†Œ์ˆ˜๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ์†Œ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†์œผ๋ฉฐ, ์ฃผ์–ด์ง€๋Š” ์†Œ์ˆ˜๋Š” ๋ชจ๋‘ 541๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜

www.acmicpc.net

๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€์ˆ˜0