- 14500 (테트로미노)
- 보라색(핑크색) 블럭 하드코딩 하시지 않도록
- 백트래킹 특성 상 재귀 호출이 많기 때문에 방향 관련 변수는 밖(전역)에 있는게 좋음
- 2607 (비슷한 단어)
- 알파벳은 총 26개이므로 맵보다는 배열에 단어의 구성을 저장하시도록
- 두 단어의 구성 차이의 수를 diff라고 할 때,
- 삽입 & 삭제라면 diff = 1
- 수정이라면 diff = 2, 두 단어의 길이는 같음
- 1253 (좋다)
- 인덱스 같은 거 처리하는 부분 while문 안에 continue활용해서 하도록 유도
- 2143 (두 배열의 합)
- 부분합 구하는 부분 함수화 권장
- 2473 (세 용액)
- left초기화 i + 1로 하도록 유도
- 2531 (회전 초밥)
- 슬라이딩 윈도우 풀이 유도
- 쿠폰 초밥은 처음부터 넣어놓는게 좋지만 그러지 않아도 관리만 잘한다면 상관없음!
- 13422 (도둑)
- 2531과 공통되는 부분. 원 형태의 슬라이딩 윈도우는 do-while도 괜찮음
- 20922 (겹치는 건 싫어)
- 원래 투포인터 풀이는 right 이동 → right 위치 값 추가가 한 번에 발생. 하지만, 이 문제에선 right를 먼저 이동해놓고 이걸 포함해도 k 이하라는 조건을 충족할 때만 값을 추가한다면 연산이 복잡해지지 않음
- 근데 그냥 while 중첩해서 k 넘어갔을 때 다시 k이하 될 때까지 while문 돌려도 괜찮음. 시간 복잡도는 크게 변하지 않음. 다만 while 중첩이라 보기 미묘할 뿐..?