🔑 오늘의 학습 키워드
🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/131130
def solution(cards):
opened = [False] * len(cards)
box_group = []
def open_box(cards, idx):
opened[idx] = True
tmp = [idx]
while True:
next_open = cards[idx] - 1
if opened[next_open]:
break
opened[next_open] = True
idx = next_open
tmp.append(idx)
box_group.append(len(tmp))
for i in range (len(cards)):
if opened[i]:
continue
open_box(cards,i)
box_group.sort(reverse = True)
if len(box_group) == 1:
return 0
return box_group[0] * box_group[1]
🗒️ 공부한 내용 본인의 언어로 정리하기
🤔 문제를 보고 든 생각
주어진 카드 뭉치를 열었을 때 해당 인덱스에 맞는 박스를 열어가면서 실행하면 되겠구나
그러면 박스를 열었는지 확인하는 배열이랑, 만든 그룹 리스트의 길이를 저장해 나간뒤 길이가 가장 큰 2개를 곱하면 되겠다.
⏰ 예상 시간 복잡도 O(N)
제한 사항
2 ≤ cards의 길이 ≤ 100
cards의 원소는 cards의 길이 이하인 임의의 자연수입니다.
cards에는 중복되는 원소가 존재하지 않습니다.
cards[i]는 i + 1번 상자에 담긴 카드에 적힌 숫자를 의미합니다.
✅ 오늘의 회고
- 쉽다 그리디 :)
#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL
'Coding test' 카테고리의 다른 글
99클럽 코테 스터디 40일차 TIL, 프로그래머스 / 등굣길 (0) | 2024.08.30 |
---|---|
99클럽 코테 스터디 39일차 TIL, 프로그래머스 / 로또의 최고 순위와 최저 순위 (0) | 2024.08.29 |
99클럽 코테 스터디 37일차 TIL, 백준 / 2048 (Easy) / 12100 (1) | 2024.08.27 |
99클럽 코테 스터디 36일차 TIL, 백준 / 도미노 / 1552 (0) | 2024.08.26 |
99클럽 코테 스터디 35일차 TIL, 프로그래머스 / 퍼즐 조각 채우기 (0) | 2024.08.25 |