for else 문 / combinations활용

프로그래머스 - 소수구하기 ↗️

숫자 세개 조합하기

  • 라이브러리를 사용하지 않을 경우
    for i in range(len(nums)-2):
          for j in range(i+1,len(nums)-1):
              for k in range(j+1,len(nums)):
                  answer_list.append(nums[i]+nums[j]+nums[k])
    
  • 라이브러리를 사용할 경우 combinations활용
    from itertools import combinations
        for a in combinations(nums, 3):
            answer_list.append(sum(a))
    

소수구하기

for else를 활용한다.
answer는 소수갯수 카운트이다.

for num in answer_list:
        for i in range(2, (num//2)+1):
            if not num % i:
                break
        else:
            answer += 1

전체코드

def solution(nums):
    answer = 0

    answer_list=list()

    for i in range(len(nums)-2):
        for j in range(i+1,len(nums)-1):
            for k in range(j+1,len(nums)):
                answer_list.append(nums[i]+nums[j]+nums[k])
    '''
    from itertools import combinations
    for a in combinations(nums, 3):
        answer_list.append(sum(a))
    '''
    for num in answer_list:
        for i in range(2, (num//2)+1):
            if not num % i:
                break
        else:
            answer += 1
    return answer

Level0

댓글 쓰기