23/09/26-27

2023. 9. 28. 00:48

09/26

[알고리즘]

1. CodeTree - 바이러스 백신

  • 조합 + 덱 활용
  • 백신을 받는 병원을 M개 고르기 위해 조합을 사용했고, BFS를 위해 deque을 사용했다.

09/27

[알고리즘]

2. CodeTree - 정육면체 한번 더 굴리기

  • 주사위를 회전 시킬 때, 나는 6개의 면을 3*4 배열에서 어떻게 움직일지 고민했다.
  • 해설을 보니 앞, 위, 오른쪽 만 저장해놓고 합이 7이라는 규칙을 활용해 뒤, 아래, 왼쪽을 구했다. 훨씬 나은듯

3. CodeTree - 토끼와 경주

  • 격자 밖일 경우 반대로 빠르게 이동하기
    • 빠르게 이동하기 위해서는 % 연산이 필수이다.
    • 격자 밖을 넘어갔을 경우, 넘어간 만큼 다시 반대 방향으로 돌려야한다. 2*(N-1) - nr
    • nr이 음수여도 상관없는 이유는 파이썬으로 모듈러 연산을 하면 양수로 바꿔준다. 이때 값으로 나오는 양수는 끝에서 얼마나 떨어졌는지를 표현하기 때문에, 그만큼을 다시 마지막에서 빼니깐 사용할 수 있다.
      • 만약 길이가 5라면, 마지막 인덱스는 4이고, 마지막 위치는 두번 밟지 않아 왕복 거리는 (5-1) * 2 = 8이다.
      • -2 % 8 = 6 (6은 8에서 2만큼 왼쪽으로 떨어져있다.)
      • 8 - 6 = 2 => (-2)는 2가 되어야한다.

(빨리 풀었어야 하는데.. 왜 2시간이나 걸렸니...)

4. CodeTree - 색깔 폭탄

  • 중력을 적용하는 법에 대해 다시 확인했다.
    1. 새로운 그리드 + 마지막 위치 저장
    2. 기존 그리드 + 빈칸의 개수 저장
  • 시간 복잡도는 비슷한 것 같다.

5. CodeTree - 예술성 / 청소는 즐거워

  • 예술성은 group이 최대 10개밖에 안나와서 그룹별 위치를 저장했다.
  • 청소는 즐거워는 영향력(%)를 하드코딩했다. 훨씬 편하다.

'Dev > TIL' 카테고리의 다른 글

23/10/04  (0) 2023.10.05
23/10/03  (1) 2023.10.04
23/09/25  (0) 2023.09.26
23/09/22  (0) 2023.09.22
TIL - 22/03/15  (0) 2022.03.15

BELATED ARTICLES

more