일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Spark MLlib
- Python
- 캐글
- 데이터 시각화
- 부스트캠프
- pycharm
- kaggle
- 맛집
- 홍대 맛집
- NLP
- Transformer
- r
- 위기의코딩맨
- Ai
- spark
- 서울 맛집
- mllib
- 자연어
- tensorflow 예제
- 연남 맛집
- AI tech
- AI Tech 준비과정
- 연남동 맛집
- RDD
- 부스트캠프 ai tech 준비과정
- yolo
- 부스트클래스
- DataSet
- TensorFlow
- AI 엔지니어 기초 다지기
- Today
- Total
We-Co
[We-Co] 프로그래머스 - 소수 만들기(Python) 본문
안녕하세요. 위기의 코딩맨입니다.
앞으로 프로그래머스의 코딩 테스트 문제를 풀어보려고 합니다. 언어는 Python 기반으로 진행할 예정입니다.
오늘은 프로그래머스의 코딩 테스트 연습 Level 1 소수만들기를 진행해 보려합니다.
문제를 잘 이해하고, 입출력 예 설명을 잘 보고 코딩을 진행해야합니다.
일단 제가 진행한 소스를 보시겠습니다.
def solution():
answer = 0
for i in range(0, len(Array_)):
num_1 = Array_[i]
for j in range(i+1, len(Array_)):
num_2 = Array_[j]
for z in range(j+1, len(Array_)):
num_3 = Array_[z]
re_ = num_1 + num_2 + num_3
if check(re_):
answer +=1
return answer
def check(a):
sum = a
for i in range(2, total):
if sum % i == 0 :
return False
return True
제 코드는 들어오는 리스트를 토대로, for 문을 3번 사용하여 3개의 값을 설정하고,
그 값들의 합을 check()로 보내, 소수 인지 확인을 하여, 소수이면 True, 소수가 아니면 False을 리턴하여
True면 answer+=1을 실행하게 됩니다.
이 방식을 계속 반복하여, 모든 for문이 완료되면 answer를 완료 값으로 return하여 종료합니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/002.gif)
from functools import reduce
from itertools import combinations
def Find_Sosu_S():
answer = 0
A = list(combinations(Array_, 3))
for i in A:
num_ = reduce(lambda x, y: x + y, i)
if check(num_): answer += 1
return answer
check부분은 소수를 확인하는 부분이라 제가 임의로 바꿔서 넣었습니다.!
여기서 중요한점은 A = list(combinations(Array_, 3)) 인데
3중 for문을 사용한것을 for문을 한번 사용할 수 있도록 줄인 부분입니다.
combinations로 3자리의 조합된 수를 리스트로 넣어줍니다.
Array_ = [1,2,3,4]
[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]
Array_를 넣고 돌리면 밑의 값이 결과로 나옵니다.
이 값들을 lambda의 reduce()함수를 사용하여 그 리스트들의 값을 모두 더하여 소수인지 확인하는 것입니다.
모든 소스들이 정답은 아니지만 효율이나, 가독성이 좋은 코드를 제작할 수 있도록 노력합시다..
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/012.gif)
'Python > Programmers' 카테고리의 다른 글
[We-Co] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 - Python (5) | 2022.03.15 |
---|---|
[We-Co] 프로그래머스 레벨 1단계 결과 (0) | 2021.08.20 |
[We-Co] 숫자 문자열과 영단어- KAKAO 코딩테스트 (0) | 2021.08.06 |