๐ป
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ ์คํธ ์ฐ์ต > Summer/Winter Coding(~2018) > ์์ ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
์๊ณ ๋ฆฌ์ฆ/๊ธฐ์ด๋ค์ง๊ธฐ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ ์คํธ ์ฐ์ต > Summer/Winter Coding(~2018) > ์์ ๋ง๋ค๊ธฐ
๋ํจ๋ 2024. 11. 1. 16:01https://school.programmers.co.kr/learn/courses/30/lessons/12977
LV1. ์์ ๋ง๋ค๊ธฐ
๐ก์์ด๋์ด
์ฃผ์ด์ง ์ซ์๋ค๋ก ๋ง๋ค์ ์๋ ์กฐํฉ์ ์๊ฐํ๊ณ , ์์์ธ์ง ํ์ธํ๋ ๋ฌธ์ ์ด๋ค.
๋ ๋ฒจ1์ ์ฌ์ด ๋ฌธ์ ์ธ๋ฐ ๋ฐ๋ณด ๊ฐ์ด '์์'์ ์ ์๊ฐ ์๊ฐ์ ์ผ๋ก ์๊ฐ์ด ์๋๊ณ ํ์๋ก ์ฐฉ๊ฐํ๊ณ ํ์๋ค ๋ฐ๋ณด๊ฐ์ด ใ ใ
๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ณด์๋๋ฐ, ์ฒซ๋ฒ์งธ๋ ๋ฐ๋ณต๋ฌธ 3๊ฐ๋ฅผ ์จ์ 3๊ฐ์ ์ ํฉ์ ๊ตฌํ๊ณ ๋๋ฒ์งธ๋ itertools ๋ชจ๋์ combinations ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
๐ป ์ฝ๋์์ฑ
from itertools import combinations, permutations
def check(number):
# ์์์ธ์ง ์ฒดํฌํ๋ ํจ์
# ์์: 1๊ณผ ์๊ธฐ ์์ ๋ง์ ์ฝ์๋ก ํ๋ ์ซ์
cnt = 0
for i in range(1, number+1):
if number % i == 0 : cnt += 1
if cnt == 2 : return True
return False
def solution(nums):
answer = 0
# ์ฒซ๋ฒ์งธ ํ์ด: ๋ฐ๋ณต๋ฌธ 3๊ฐ ์ฌ์ฉ
# temp = 0
# cnt = 0
# for i in range(len(nums)-2):
# for j in range(i+1, len(nums)-1):
# for k in range(j+1, len(nums)):
# temp = nums[i] + nums[j] + nums[k]
# if check(temp) :
# print(temp)
# answer += 1
# ๋๋ฒ์งธ ํ์ด: itertools ๋ชจ๋ combination ํจ์ ์ฌ์ฉ
comb_list = []
for i in combinations(nums, 3):
comb_list.append(sum(i))
for i in range(len(comb_list)):
if check(comb_list[i]):
answer += 1
return answer
๋ฐ์ํ
'์๊ณ ๋ฆฌ์ฆ > ๊ธฐ์ด๋ค์ง๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments