๐Ÿงฉ Algorithm/[Programmers] Level 1

[Programmers] L1. ์‚ผ์ด์‚ฌ (Python)

devCloud 2024. 11. 6. 11:05
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ’€์ด

๐Ÿ’กcombinations ํ•จ์ˆ˜ ์‚ฌ์šฉ

 

combinations๋Š” ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ์ฃผ์–ด์ง„ ๊ธธ์ด๋งŒํผ ์›์†Œ๋ฅผ ๋ฝ‘๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. itertools ๋ชจ๋“ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์–ด, ์ด ๋ชจ๋“ˆ์„ ๋จผ์ € ์ž„ํฌํŠธํ•ด์•ผ ํ•œ๋‹ค.

  • combinations๋Š” ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ํŠน์ • ๊ธธ์ด๋งŒํผ ์š”์†Œ๋ฅผ ๋ฝ‘๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ ์ƒ์„ฑํ•œ๋‹ค.
  • ๊ฒฐ๊ณผ๋Š” ํŠœํ”Œ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜๋˜๋ฉฐ, list()๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ์ „์ฒด ์กฐํ•ฉ์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์กฐํ•ฉ์˜ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•˜๋ฉฐ, itertools ๋ชจ๋“ˆ์—์„œ ๊ฐ€์ ธ์™€์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๊ธฐ๋ณธ ๊ตฌ๋ฌธ

from itertools import combinations

combinations(iterable, r)
  • iterable : ์กฐํ•ฉ์„ ์ƒ์„ฑํ•  ๋Œ€์ƒ(์˜ˆ: ๋ฆฌ์ŠคํŠธ, ๋ฌธ์ž์—ด ๋“ฑ).
  • r : ์กฐํ•ฉ์˜ ๊ธธ์ด (๋ฝ‘์„ ๊ฐœ์ˆ˜).

 

Solution

from itertools import combinations 

def solution(number):
    answer = 0
    for i in combinations(number, 3):
        if sum(i) == 0:
            answer += 1
    return answer

 

 


 

728x90