Adventofcode (2023.2.10) - codeport/scala GitHub Wiki

Adventofcode

Adventofcode

체크인 (기분/근황/기대하는 바)

Advent of Code 2022 문제풀이

Day 3

문제3

문제4

회고 (좋았던 점/ 아쉬웠던 점/ 다음주 이 시간까지 할 일)

  • Wayne
    • 문제 두 개나 풀었다
    • 딱히 없다
    • 잘 쉬고 오겠다
  • 통구이
    • 문제를 다 풀 수 있었다
    • 스칼라 내장 함수를 잘 모르겠다
    • 잘 쉬다 오겠다
  • 성큼이
    • 문제 둘 풀었다
    • 좀 참석이 늦었다
    • 일 열심히 하다 오겠다
  • 유진
    • 한 문제라도 풀었다
    • 별로 없다
    • 별 일 없으면 참석하겠다

나머지 공부

  • 유진
    • 못 풀었던 day04 문제를 풀었다.
    • sliding(3, 3)을 사용했는데 grouped(3)이라는 간단한 표현이 있는 걸 알았고, 내부에서는 같은 일을 한다는 걸 알았다.
    • 다른 풀이 예를 찾아보던 중 scala.util.chaining._ 의 pipe 오퍼레이션을 알게 됐고, 이런 체이닝 펑션은 map 같이 원소를 다루는 오퍼레이션이 아니라 객체 자체를 다루는 오퍼레이션이라는 것을 알았다. 그리고 성능상 약간의 이점이 있다고 한다.
  import scala.util.chaining._
  def part1_2(data: InputType): Int =
    data
      .map(line => line
        .splitAt(line.length / 2)
        .tap(println)
        .pipe((l, r) => l.toSet.intersect(r.toSet).head))
      .map(toInt)
      .sum