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