알고리즘_코딩테스트/이것이 코딩테스트다
[그리디] 볼링공 고르기
논곰
2021. 12. 12. 00:55
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다.
문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다.
소요시간: 10분 30초
1. 문제 설명
- 친구 A와 B가 볼링공을 고를 때 서로 다른 무게를 고르고자 한다. 주어진 볼링공 중에서 이 둘이 고를 수 있는 경우의 수는 몇 개인가?
2. 접근 방식
- 바로 이전 문제에서 조합을 활용해서 문제를 풀어서 쉽게 접근할 수 있었다.
- 조합으로 문제를 고르고, 나온 조합들 중 값이 같은 것들을 빼줌으로써 답을 구했다.
- 주어진 조건의 범위가 적어서 일일이 다 찾아도 될 것 같다는 생각을 했다.
3. 코드
from itertools import combinations
def bowling(n, m, ls):
com = list(combinations(ls, 2))
answer = 0
for i, j in com:
if ls[i-1] != ls[j-1]:
answer+=1
return answer
4. 코멘트
- combinations 함수 최고