프로개머스_해시_위장

hankyulee·2021년 10월 1일
0

Swift coding test 준비

목록 보기
6/57


딕셔너리만 잘 사용할 줄 알면 풀 수 있는 문제였다. 아래는 문제를 풀면서 공부한 dictionary와 reduce내용이다.

  • 빈 딕셔너리를 만들고 키가 없는 상태에서 추가하면 안만들어진다.
  • 따라서 키를 만든 상태에서 추가해야한다.
  • 딕셔너리의 values는 array가 아니기 때문에 위와같이 사용불가하다.
  • 따라서 다음과같이 어레이로 바꿔서 사용할 순 있다. 그러나 딕셔너리는 순서가 없다는 사실을 주의해야한다. 할때마다 순서가 랜덤이다.
  • 딕셔너리에 element처럼 추가하려면 위와같이 해야한다. Array(ccc2)는 불가능하다.reduce는 초기 설정값이 리턴타입과 동일 해야한다.
  • reduce 의 return 이 다음값이 되기때문에 위와같이 새로운 변수를 사용할 경우 주의해야한다. 위처럼 했을때 실수했다.

결론: 다른 분들 풀이를 보니까 5줄안에 푸신분도 있고.. 상위 두분이 compactmap을 사용하시길래, 공부해봐야겠다.

  • 인라인 적용안된다.

  • 2차원배열을 1차원으로 : flatmap. 단 옵셔널로 나온다. 그래서 다시 compactmap하면 옵셔널바인딩 된 값이 나온다.

0개의 댓글