[프로그래머스 코딩테스트 고득점 Kit / 완전탐색] 모의고사 (python)
풀이 def solution(answers): answer = [] s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] d = dict.fromkeys([1, 2, 3], 0) for i in range(len(answers)): if answers[i] == s1[i % len(s1)]: d[1] += 1 if answers[i] == s2[i % len(s2)]: d[2] += 1 if answers[i] == s3[i % len(s3)]: d[3] += 1 sorted_list = sorted(d.items(), key = lambda x: (-x[1], x[0])) for i in sorted_..
[프로그래머스 코딩테스트 고득점 Kit / 완전탐색] 최소직사각형 (python)
풀이 def solution(sizes): answer = 0 max1 = max(map(max, sizes)) max2 = max(map(min, sizes)) answer = max1 * max2 return answer 내 풀이 가로 세로를 통틀어 가장 긴 길이(max1)를 구하고, 각 직사각형 안에서 가로 세로 중 작은 것들 중에서 가장 큰 길이(max2)를 구한 뒤 곱해서 답을 구했다. 예를 들어 sizes가 [[60, 50], [30, 70], [60, 30], [80, 40]]로 주어진 경우, 가장 긴 길이는 80이다. (max1 = 80) 이렇게 구한 길이가 명함 지갑의 한 변이 된다. 가로 세로를 통틀어 가장 긴 길이(max1)를 구하고, 각 직사각형 안에서 가로 세로 중 작은 것들 중에..