[스알뿌] 3/6 - 3/12
Closed this issue · 1 comments
Taehyeon-Kim commented
2주차 (3/6~3/12) 15문제
- 프로그래머스 Lv2(3문제) : 방문 길이, 가장 큰 정사각형 찾기, 방금그곡
- 프로그래머스 Lv3(2문제): 섬 연결하기, 길찾기 게임
- DFS/BFS(5문제) : 7562 나이트의 이동, 5014 스타트링크, 2583 영역 구하기, 2667 단지번호붙이기, 2468 안전 영역
- 시뮬레이션(1문제) : 14503 로봇청소기
- 그리디(1문제) : 2170 선 긋기
- DP(2문제) : 12865 평범한 배낭, 7579 앱
- 트리(1문제) : 4256 트리
Taehyeon-Kim commented
방문 길이
- 나름 잘 풀었다고 생각한 풀이
- 자료구조를 적절하게 잘 활용한 것 같다. 코드 짜는 스타일이 이전이랑은 조금 달라진 것 같다.
- 중복되는 길이 없어야겠다라는 부분에서 Set을 활용하려고 했고, 단순 구현 문제라고 판단했다. 또한 좌표의 경우 Pair 구조체를 만들어서 사용하던 것이 편해져서 자연스럽게 구조체를 하나 만들었고, 길이라는 것이 방향에 대한 언급이 따로 없다면 (시작 - 끝 / 끝 - 시작)이 결국 같은 길이라는 점을 활용했다.
Struct, Hashable
- Hashable만 채택해주면 hashValue를 자동으로 생성해준다.
- Set의 Element로 사용가능하고, Dictionary의 Key로도 사용이 가능하다.
- 원래는 Struct도 hashValue와 Equatable에 필요한 연산자 메서드도 구현해주어야 했는데 Swift 4.1부터 바뀌었다.