강의로 돌아가기
김홍석

테스트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
  • jinwookss

    와.. 이걸 생각 못했네요

    jinwookss―2021.03.15 19:07
  • Vermouth-Singed

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

    Vermouth-Singed―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
  • Jin Wan Kim

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

    Jin Wan Kim―2021.08.23 00:31
  • Jolly

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

    Jolly―2022.02.23 09:15
  • JunHyuk Kwon

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

    JunHyuk Kwon―2022.05.07 13:46
  • 박은영

    감사합니다!!

    박은영―2022.10.08 23:11
  • cmj5064

    🥺

    cmj5064―2023.02.10 17:52
  • rlskejdk

    지립니다 지립니다 !!

    rlskejdk―2023.10.12 11:17
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.