우주에서 글을 적어본다
99클럽 코테 스터디 11일차 TIL + 구현 본문
[오늘의 학습 키워드 및 문제]
- 프로그래머스의 "카드 뭉치" 문제를 풀었다.
- 주제가 정렬이어서 정렬 문제인 줄 알았는데 단순 구현이어서 당황했다.
- 문제 접근법을 떠오르는 법은 어렵지 않았다.
[나의 코드]
def solution(cards1, cards2, goal):
answer = 'Yes'
for word in goal:
# word == cards1[0] and cards1 이렇게 작성하면 index 오류가 난다.
# word == cards1[0] 얘를 먼저 검사하기 때문에 오류날 수 있다.
# 할 거면 우선 조건을 앞으로 빼오자.
if cards1 and word == cards1[0]:
cards1.pop(0)
elif cards2 and word == cards2[0]:
cards2.pop(0)
else:
answer = 'No'
break
return answer
각 배열의 순서를 바꿀 수 없는 게 가장 큰 조건이지 않을까 싶다.
그래서 cards1과 cards2 맨 앞의 원소를 고정값으로 두고 풀면 되겠다 생각했다.
앞서 말했듯이 접근 자체는 어렵지 않았다. 하나 실수한 게 있는데...
'2 ≤ goal의 길이 ≤ cards1의 길이 + cards2의 길이' 이 조건을 간과했다.
각 배열마다 길이가 다 다르다.
그래서 늘 배열이 비어있는지 차있는지 확인도 해줘야 했던 것이다. (두둥탁)
이것만 고쳐줬더니 바로 잘 돌아간다. (안 고쳐준다면 out of index 잔치~)
[오늘의 회고]
- 배열의 길이를 늘 신경 쓰도록 하자.
- 참고로 deque를 쓸 수 있다. 있는데 조건을 보면 어차피 배열이 짧아서 안 써도 시간 초과 안 난다. 끝!
'항해99 TIL' 카테고리의 다른 글
99클럽 코테 스터디 13일차 TIL + 이분 탐색 그리고 정렬을 곁들인.. (0) | 2024.08.03 |
---|---|
99클럽 코테 스터디 12일차 TIL + 정렬과 구현 (0) | 2024.08.02 |
99클럽 코테 스터디 10일차 TIL + 힙(Heap) (0) | 2024.07.31 |
99클럽 코테 스터디 9일차 TIL + 힙(Heap) (0) | 2024.07.30 |
99클럽 코테 스터디 8일차 TIL + 스택과 수학 머리 (0) | 2024.07.29 |