반응형
[문제 출처]
https://school.programmers.co.kr/learn/courses/30/lessons/131705
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[문제 풀이]
리스트 number는 학생들의 정수 번호를 담고 있다.
세 명의 학생들의 정수번호의 합이 0일 경우 이 학생들은 삼총사라고 할 수 있다.
주어진 번호를 이용해 삼총사를 만들 수 있는 경우가 몇 가지인지 구하는 문제이다.
✅소스 코드
간단하게 3개의 for문으로 모든 경우의 합을 구해서 0일 때 answer를 1 증가해 주었다.
이 문제의 경우 number의 길이가 13 이하이기 때문에 아래와 같은 코드로 실행하여도 오래 걸리지 않는다.
하지만 number의 길이가 커지면 수행시간이 기하급수적으로 커지기 때문에 다른 방식으로 푸는 것을 추천한다.(n^3에 비례하기 때문)
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
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 프로그래머스 Lv.1 가장 가까운 글자 (0) | 2023.03.13 |
---|---|
[python/파이썬] 백준 1629 곱셈 (0) | 2023.03.09 |
[python/파이썬] 프로그래머스 Lv.1 콜라 문제 (0) | 2023.03.07 |
[python/파이썬] 프로그래머스 Lv.1 푸드 파이트 대회 (0) | 2023.03.06 |
[python/파이썬] 프로그래머스 Lv.1 과일장수 (0) | 2023.03.03 |