강의로 돌아가기
김***

테스트1번 시간초과이신 분들

1번빼고 다되길래 무한루프 빠져서 그런가 했는데

진짜 시간 초과였습니다.

하의 2개, 상의 3개가 있을 때
*잘못된 풀이
combinations으로 하의만 입을때, 상의만 입을때, 둘다 입을때 경우의 수를 구한다
*맞는 풀이
(하의 2개+안입은 경우) * (상의 2개 + 안입은 경우) = 3 * 4 = 12
그리고 전체에서 -1 (전부다 안입는 경우의 수를 뺀다)
즉 12 - 1 = 11

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from itertools import combinations

def solution(clothes):
    answer = 1
    dic = dict()

    for cloth, Type in clothes:
        if(dic.get(Type) == None ):
            dic[Type] = [cloth]
            continue
        dic[Type].append(cloth)    

    for Type in dic:
        answer *= len(dic[Type]) + 1

    return answer - 1
  • 홍***

    와우

    홍***―2021.02.05 11:01
  • 김***

    와.. 조합 하나하나 찾으려 했었는데 안입는 경우를 추가해서 한방에 구할 수 있군요

    김***―2021.02.05 23:58
  • 박***

    오 맞네요

    박***―2021.02.14 10:13
  • 11***

    와.. 이걸 생각 못했네요

    11***―2021.03.15 19:07
  • Ve***

    조합을 다 구하면 시간초과할거라는건 알고 곱셈으로 접근하긴 했는데 1씩 더해서 다 곱하고 마지막에 1 빼면 끝나는건 생각못했네요

    Ve***―2021.03.31 17:17
  • 박***

    (하의 2개+안입은 경우) * (상의 3개 + 안입은 경우) = 3 * 4 = 12 입니다. 오타가 있어서 한참 보았습니다.

    박***―2021.04.15 18:55
  • 탈퇴한 사용자

    오 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 안입는건 어케 생각하셧나요 무쳣다

    탈퇴한 사용자―2021.05.06 20:37
  • 오***

    와 역시 훌룡한 스파이가 되려면 나체로 길거리를 횡보할 정도의 담력이 필요하다는 교훈을 주는 문제내요.

    오***―2021.06.02 22:32
  • 최***

    이거네 ....

    최***―2021.07.05 15:51
  • 강***

    이열..

    강***―2021.08.04 13:39
  • Ji***

    와..... 안입는 경우...... 와....

    Ji***―2021.08.23 00:31
  • Jo***

    전체에서 뺀다는 걸 생각못했네요... 👍

    Jo***―2022.02.23 09:15
  • Ju***

    무쳤다.... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

    Ju***―2022.05.07 13:46
  • 박***

    감사합니다!!

    박***―2022.10.08 23:11
  • cm***

    🥺

    cm***―2023.02.10 17:52
  • rl***

    지립니다 지립니다 !!

    rl***―2023.10.12 11:17
  • ch***

    와,..

    ch***―2024.06.15 20:55
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.