[BOJ][Python][브2][7568] 덩치

문제 링크

문제링크

첫 번째 풀이

정답코드

n이 작아서 $O(n^2)$으로 진행해도 문제 없습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys
from math import pi, sqrt
from collections import deque

# sys.stdin = open("input.txt", 'r')

n = int(input())
arr = []
for i in range(n):
    h, w = map(int, input().split())
    arr.append((h, w))

dp = [1 for _ in range(n)]
for i in range(n):
    for j in range(n):
        if arr[i][0] < arr[j][0] and arr[i][1] < arr[j][1]:
            dp[i] += 1

print(*dp, sep=' ')

두 번째 풀이

정답코드

3개를 고르기 때문에 3중 for문으로 접근합니다. n이 100으로 작기 때문에 가능한 방법입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import sys
from math import pi, sqrt
from collections import deque

# sys.stdin = open("input.txt", 'r')

n, m = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
ans = 0

for i in range(n - 2):
    for j in range(i + 1, n - 1):
        for k in range(j + 1, n):
            sum = arr[i] + arr[j] + arr[k]
            if sum <= m:
                ans = max(ans, sum)

print(ans)

Success Notice: 수고하셨습니다. :+1:

Leave a comment