🎈문제
https://leetcode.com/problems/redundant-connection/
🎁어떤 알고리즘?
1. 모르겠음 ㅡㅡ
2. 백트래킹과 3중 for문 두 번의 실패를 겪고 결국 찾아본 코드
💻코드
class Solution:
def numTeams(self, rating: List[int]) -> int:
ans = 0
left = [0 for _ in range(len(rating))]
right = [0 for _ in range(len(rating))]
for i in range(len(rating)):
for j in range(0,i):
if rating[i] > rating[j]:
left[i] = left[i] + 1
ans = ans + left[j]
else:
right[i] = right[i] + 1
ans = ans + right[j]
return ans
❌실패 사례 -> 시간 초과
1. 백트래킹
class Solution:
def numTeams(self, rating: List[int]) -> int:
#### 백트래킹
soldier = []
cnt = 0
n = len(rating)
def dfs(start):
nonlocal cnt
if len(soldier) == 3:
if soldier[0] < soldier[1] < soldier[2] or soldier[0] > soldier[1] > soldier[2] :
cnt += 1
return
return
for i in range(start,n):
soldier.append(rating[i])
dfs(i+1)
soldier.pop()
return
dfs(0)
return cnt
2. 3중 for문
class Solution:
def numTeams(self, rating: List[int]) -> int:
#### 완전 탐색
n = len(rating)
cnt = 0
for i in range(n):
for j in range(i+1,n):
for k in range(j+1,n):
if rating[i]<rating[j]<rating[k] or rating[i]>rating[j]>rating[k]:
cnt += 1
return cnt
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] 179. Largest Number(파이썬/python) (with. cmp_to_key) (2) | 2023.09.07 |
---|---|
[LeetCode] 22. Generate Parentheses (파이썬/python) (0) | 2023.09.01 |
[LeetCode] 1061. Lexicographically Smallest Equivalent String (파이썬/python) (0) | 2023.08.10 |
[LeetCode] 684. Redundant Connection (파이썬/python) (0) | 2023.08.10 |
[LeetCode] 863. All Nodes Distance K in Binary Tree (파이썬/python) (0) | 2023.08.08 |