๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 6603_๋กœ๋˜

๋ฟŒ์•ผ._. 2022. 3. 3. 17:23

Silver II

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/6603)

<๋กœ๋˜>

๋ฌธ์ œ 

 

๋…์ผ ๋กœ๋˜๋Š” {1, 2, ..., 49}์—์„œ ์ˆ˜ 6๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค.
๋กœ๋˜ ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์ „๋žต์€ 49๊ฐ€์ง€ ์ˆ˜ ์ค‘ k(k>6)๊ฐœ์˜ ์ˆ˜๋ฅผ ๊ณจ๋ผ ์ง‘ํ•ฉ S๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๊ทธ ์ˆ˜๋งŒ ๊ฐ€์ง€๊ณ  ๋ฒˆํ˜ธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, k=8, S={1,2,3,5,8,13,21,34}์ธ ๊ฒฝ์šฐ ์ด ์ง‘ํ•ฉ S์—์„œ ์ˆ˜๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์ด 28๊ฐ€์ง€์ด๋‹ค. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34])
์ง‘ํ•ฉ S์™€ k๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ

 

์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” k (6 < k < 13)์ด๊ณ , ๋‹ค์Œ k๊ฐœ ์ˆ˜๋Š” ์ง‘ํ•ฉ S์— ํฌํ•จ๋˜๋Š” ์ˆ˜์ด๋‹ค. S์˜ ์›์†Œ๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค.
์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 0์ด ํ•˜๋‚˜ ์ฃผ์–ด์ง„๋‹ค. 

 

์ถœ๋ ฅ 

 

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์ˆ˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ, ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‚ฌ์ด์—๋Š” ๋นˆ ์ค„์„ ํ•˜๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

๋ฌธ์ œ ํ’€์ด

- my solution

 

import sys
from itertools import combinations #์กฐํ•ฉ

if __name__=='__main__':
    while True:
        a=list(sys.stdin.readline().split())
        if a[0]=='0': # ์ข…๋ฃŒ ์กฐ๊ฑด
            break
        else: #k=a[0], s=a[1::]
            s=a[1::]
            arr=list(combinations(s,6))
            for i in arr:
                print(' '.join(i))
            print()

 

combinations๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์ถœ๋ ฅํ•˜์—ฌ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

 

โ“ ์ดˆ๊ธฐ ์ฝ”๋“œ์—์„œ ์™œ ์ถœ๋ ฅ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋Š”๊ฐ€?

์ข…๋ฃŒ ์กฐ๊ฑด์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ดˆ๊ธฐ์— a==0์œผ๋กœ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ œ๋Œ€๋กœ ์ข…๋ฃŒํ•˜์ง€ ๋ชปํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์—

์‹คํ–‰์ด ๋๋‚˜์ง€ ์•Š์•„ ์ถœ๋ ฅ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—ˆ๋‹ค. ์ข…๋ฃŒ ์กฐ๊ฑด์„ ์ œ๋Œ€๋กœ ์„ค์ •ํ•œ ํ›„ ๋ฐ”๋กœ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

 


์ƒ๊ฐ๐Ÿค”

 

๋‹ค๋“ค ์ด๋ ‡๊ฒŒ ํ‘ธ๋Š”๊ฐ€ ๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ณด๋‹ˆ combinations๋กœ ํ’€๊ธฐ๋„ ํ•˜๊ณ  dfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€๊ธฐ๋„ ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‹ค์Œ์— ์‹ค๋ ฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด dfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋„๋ก ์‹œ๋„ํ•ด๋ด์•ผ๊ฒ ๋‹ค.