3/5(토) 삼성 SW 마에스트로 1차 코딩테스트 생애 첫 공식 코테를 쳤다.
이 글은 작성자 Mapin의 일기와 같은 느낌으로 작성해볼까 한다. 이번 코테로 느낀점을 잊지 않기 위해서 기록을 하려고한다. 자기 객관화를 하기 위해서 쓴 글이다.
삼성 SW 코테를 치기 전
FACT
- 매일 백준을 1~3문제씩 꾸준히 풀었다.
- 난이도는 브론즈~ 골드의 다양한 난이도
- Algorithm Camp를 2개월 동안 수료했다.
- 다양한 개념들을 접했고, 다양한 문제들을 풀었다.
문제를 많이 풀게되면 , 자연스럽게 내 머리 속에 꾸준히 흔적이 남을거라 생각을 했다.
삼성 SW 코테를 치고난 후
Trouble Shooting
- 코딩테스트에서 어려운 개념을 묻기보다는 , 이미 우리가 잘 알고있는 개념들을 어떻게 효율적으로 구현할 수 있는가를 보는거 같다.
- 물론, 어려운 개념을 이해할 수 있는가에 대한 문제도 있지만, 6문제가 있었다면, 그런 문제는 1문제 정도밖에 없었다.
코딩 테스트를 하고 난뒤에 , 머리를 맞은듯한 느낌이 들어서, 본인의 문제점에 대해서 한번 고찰을 해봤다.
시간제한 때문에, 완전탐색으로 안된다는건 알고 있지만, 그것을 어떻게 해결할지에 대한 고민을 하지 않았다.
- 생각보다, 완전탐색이 안되는 이유에 대해서는 빠르게 알아낼 수 있었다.
- 하지만, TL 문제를 해결하는 과정을 내 것으로 만들어야 했는데, 충분한 연습이 되어있지 않았던거 같다.
- 한 단계를 더 나아가야 하는 시점이 온 것 같다.
기본적인 알고리즘 개념들
- 기본적인 자료구조,알고리즘들에 대한 생각의 재료가 부족한것 같다.
- 결국, 문제는 다양한 생각의 재료를 조합해서 푸는 문제인데, 기본적인 알고리즘들에 대해서 정리를 한번 해야할 것 같다.
- 그리고, 유명한 알고리즘에 대해서는 확실한 이해를 하고 있어야 한다. (BFS,DFS,Djikstra...등)
알고리즘은 문제를 해결 + Optimize(최적화) 이다. 어떻게든 문제를 해결하는 능력도 보지만, 이미 해결된 문제를 어떻게 더 효율적으로 풀 수 있을까에 대한 고민도 해야한다.
예를들어, 조합을 구현하는 방법에도 엄청 많은데, 직관적으로 N^3으로 구현하는 방법이 있을것이다. 하지만, 이것을 효율적으로 구현한다면 어떻게 할 수 있을까과 같이 , 알고리즘의 기본적인 정수(essence)을 전혀 고려하지 않은, 어느새 문제만 풀고 있었던 것이다.
알고리즘은 문제해결 & 최적화 2마리의 토끼를 모두 잡아야한다는걸 이번 코테를 통해서 뼈저리게 깨달았다.
(사실 코테 책 1개만 봐도 서론에 나올것 같은 내용이지만, 피부에 와닿아서 주저리주저리 적어보았다)
앞으로 문제 풀이의 글이 길어질 것 같다.
'Talking' 카테고리의 다른 글
블로그 공지 (1) | 2024.07.06 |
---|---|
[MSW x SuperHackathon 2022] 해커톤 참가합니다! (0) | 2022.09.16 |
[블로그방향성] 알고리즘은 잠시 쉬어갑니다. (0) | 2022.05.04 |
[컴공선배/알고리즘캠프/후기] 컴공선배 알고리즘 캠프 후기 (0) | 2022.04.30 |
[SW 마에스트로/탈락] 13기 지원 후기 (0) | 2022.04.08 |