Dia Egg - Shugo Chara

Python공부/프로그래머스

(Python) 삼총사(프로그래머스 Lv.1)

별ㅇI 2023. 6. 14. 02:29
728x90
반응형

삼총사(프로그래머스 Lv.1)

https://school.programmers.co.kr/learn/courses/30/lessons/131705

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 코드

def solution(number):
    answer = 0
    for i in range(len(number)-2):
        for j in range(i+1,len(number)-1):
            for k in range(j+1,len(number)):
                if number[i]+number[j]+number[k] == 0:
                    answer += 1
    return answer

중복이 없도록 만들었으므로 따로 6을 나눠주지 않아도됨.

 

베스트 코드

from itertools import combinations
def solution(number):
    return sum([1 for c in list(combinations(number,3)) if not sum(c)])

다른 사람 코드 확인하니 combinations모듈을 사용해서 쓰는 방법도 있더라, 

 

순간 모듈과 라이브러리가 헷갈려서 찾아봤는데, 혹시 읽는이도 그렇다면 아래링크를 참고 바란다.

https://star-ccomputer-go.tistory.com/70

 

(Python) 라이브러리와 패키지와 모듈의 차이

기본적으로 라이브러리>패키지>모듈의 관계이다. 모듈은 전역변수, 함수, 클래스 등을 모아놓은 .py 파일로, import 라는 명령으로 언제든지 재사용 가능하다. 기능들이라고 생각하면 쉽다 import mod

star-ccomputer-go.tistory.com

 

728x90
반응형