[프로그래머스] Lv1 - 삼총사

김멉덥·2023년 7월 7일
0

알고리즘 공부

목록 보기
21/171
post-thumbnail

문제

프로그래머스 연습문제


코드 구현

def solution(number):
    answer = 0

    for x in range(len(number)):
        for y in range(x+1, len(number)):
            for z in range(y+1, len(number)):
                sum = 0
                sum += number[x] + number[y] + number[z]
                if(sum == 0):
                    answer += 1

    return answer

풀이

  • 파이썬에서 조합 구할 때 사용하는 메서드가 기억이 안나서 for문 3개로 조합을 구하는 코드를 짰다.
  • 단순 노가다로 3개를 뽑는 조합을 구해서 만약 합이 0이면 삼총사니까 정답에 추가

What I learned

예전에 기록해둔거 또 까먹지 말기~!

순열

# 순열 -서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열

from itertools import permutations
data = ['A', 'B', 'C']
result = list(permutations(data, 3))       # 모든 순열 구하기
print(result)

조합

# 조합 -서로 다른 n개에서 순서에 상관없이 서로 다른 r개를 선택

from itertools import combinations
data = ['A', 'B', 'C']
result = list(combinations(data, 2))       # 2개를 뽑는 모든 조합 구하기

그 외

# 중복 조합 구하기
from itertools import combinations_with_replacement

# 등장 횟수를 세기
from collections import Counter
profile
데굴데굴 뚝딱뚝딱 개발기록

0개의 댓글