최고기록 달성!!

많이는 아니지만 Backtracking 문제를 몇 문제 풀었더니,
실력 진단 테스트를 하면서 그동안 막혔던 Backtracking 문제를 잘 풀 수 있었다.ㅎㅎ
dp에 대한 학습이 더 필요하다고 나왔다.
그렇긴 하지만 아직 Backtrackin, DFS, BFS 문제들을 다 풀어서 완벽하게 하고,
dp를 학습할 계획이다.
겹치지 않게 선분 고르기
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
고민은 좀 한 문제지만 1시간 반 안에 넉넉히 풀 수 있는 문제인 것 같다.
아래는 본인이 작성한 테스트케이스를 통과한 정답 코드이다.
n = int(input())
lines = []
for _ in range(n):
x1, x2 = map(int, input().split())
lines.append([x1, x2])
def selectMaxLine(selectedLines, i):
global maxCnt
if len(selectedLines) > maxCnt:
maxCnt = len(selectedLines)
if i >= n:
return
isOverlap = False
for line in selectedLines:
if (line[0] <= lines[i][0] and lines[i][0] <= line[1]) or (line[0] <= lines[i][1] and lines[i][1] <= line[1]) or (lines[i][0] < line[0] and lines[i][1] > line[1]):
isOverlap = True
break
if not isOverlap:
selectMaxLine(selectedLines + [lines[i]], i+1)
selectMaxLine(selectedLines, i+1)
maxCnt = 0
selectMaxLine([], 0)
print(maxCnt)
'Language > Python' 카테고리의 다른 글
| [코드트리 챌린지] - 6주차 Backtracking (0) | 2023.10.16 |
|---|---|
| [코드트리 챌린지] 5주차 - Backtracking (2) | 2023.10.09 |
| [코드트리 챌린지] 3주차 - K개 중 하나를 N번 선택하기(Simple) (0) | 2023.09.21 |
| [코드트리 챌린지] 2주차 - 격자 안에서 여러 객체를 이동 (0) | 2023.09.18 |
| [코드트리 챌린지] 1주차 - 격자 안에서 여러 객체를 이동 (0) | 2023.09.10 |