SWEA(Python) 풀이/D3

SWEA[D3] (Python) 5986번 새샘이와 세 소수 풀이

개발윗미 2022. 5. 20. 15:55

Python으로 구현한 5986번 새샘이와 세 소수 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AWaJ3q8qV-4DFAUQ&categoryId=AWaJ3q8qV-4DFAUQ&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=4 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


prime = []
for i in range(2, 1000) :
    for j in range(2, i // 2 + 1) :
        if i % j == 0 :
            break
    else :
        prime.append(i)

t = int(input())
for tc in range(1, t + 1) :
    n = int(input())
    result = 0

    for i in range(len(prime)) :
        if prime[i] < n :
            for j in range(i, len(prime)) :
                if prime[j] < n :
                    for k in range(j, len(prime)) :
                        if prime[i] + prime[j] + prime[k] == n :
                            result += 1

    print('#%d %d' % (tc, result))

 

1. 2부터 999까지의 수 중 소수를 판별하여 prime 리스트에 저장한다.

 

2. 각 테스트 케이스마다 3중 for문을 통해 세 수를 도출하고, 세 수의 합이 n과 같다면 result 값을 1 증가시킨다.

 

3. 반복문이 모두 종료되면 최종적으로 해당 테스트 케이스 번호와 함께 result 값을 출력한다.