오늘은 백준 20058 마법사 상어와 파이어스톰 문제를 공부했다. [참고 풀이 링크 : YJYOON`s Code Story] 해당 링크의 있는 코드를 통해 공부했는데, 확실히 배울 점이 많았다.
우선 굵은 두 가지 배운 점은 1) 회전 함수의 간단한 구현 2) BFS / DFS 관점의 확장이었다.
1) 회전 함수의 간단한 구현
회전 함수에 대한 나의 초기 구현 생각은 for문을 4번 사용하여 각 방향을 하나씩 저장하려고 구현했었는데, 해당 개념과 구현 방식을 통하면 이중 for문을 통해 모든 경우를 포함하여 한번에 구현할 수 있었다.
2) BFS / DFS 관점의 확장
인접한 칸을 추가하며 탐색하는 알고리즘은 계속 BFS로만 구현해왔던 것 같은데 그런 잘못된 고정관념/편견을 깰 수 있게 되었다. DFS 이해에 한걸음 더 다가간 느낌이었다.
+) 두 부분뿐만 아니라 섬세하게 배울 부분들이 많았다.
2^L의 수를 이용할 때 shift 연산을 사용한 점, BFS/DFS 사용 시 범위를 벗어나는 조건 체크하는 부분을 함수로 구현하여 중복 작성을 피한 점, 변수명을 알아보기 쉽게 잘 작성한 점 등이 있었다.
토익 단어장 Day 15 진행
proposal 제안, 계획 / alliance 동맹, 제휴 / stipulation 계약 조건 / term 조건; 임기, 기한 / compromise 타협, 화해 /
deadlock 교착 상태 / review 검토하다, 재조사하다 / direction 방향, 지시, 감독 / imperative 반드시 해야 하는, 필수적인 /
commission 수수료, 커미션; 위원회 / omit 빠트리다, 생략하다 / renew (계약 등을) 갱신하다 / proficient 능숙한, 능한 /
confidentiality 기밀, 비밀 / dispute 논쟁 / objection 반대, 이의 / impression 인상 / bid 입찰 / settle 해결하다, 처리하다 /
challenging 도전적인, 힘든 / foundation 토대, 기초 /
오늘 허리가 좀 안 좋아져서 내일 매주 가는 축구를 못 나갈 것 같다. 왜 전날 갑자기 이러는 건지... 아쉽다.
끝!
'일일 기록' 카테고리의 다른 글
2022/07/26 (화) (0) | 2022.07.27 |
---|---|
2022/07/25 (월) (0) | 2022.07.25 |
2022/07/23 (금) (0) | 2022.07.22 |
2022/07/21 (목) (0) | 2022.07.21 |
2022/07/20 (수) (0) | 2022.07.20 |