본문 바로가기
TIL&WIL

241208 TIL - 알고리즘 깨달음 기록

by 나노다 2024. 12. 8.

발표 대본을 정리하구 못 풀었던 알고리즘 문제 몇을 풀어보았다!!

문제 중 삼중 반복문이라는 엄청난 무대포 로직을 쓰게 된 녀석이 있는데,

궁금한 것이 기본 for문을 세 번 했을 땐 시간 초과로 실패했는데, 

for...of문을 세 번 쓰니 빠른 연산으로 통과가 됐다?

찾아보니 오히려 반복문 중에선 기본 for문의 성능이 좋은 편이라고 하는데, 잘못된 정보들인감?

아니면 구문 내의 로직이 더 중요한 걸까? 이거는 내일 질문을 드려보는 걸로!!

통과하긴 한 삼중 for...of문

다음 문제에서 역시 반복문을 여러번 돌리게 됐는데, 이번에도 시간이 아슬아슬 했다.

다만 얻은 점이 있었는데, 기본 for문을 사용함에 있어 조건식의 설정이 꽤 까다로워서

빨간 글씨를 여러 번 만나고 있던 상황! 이번 팀 프로젝트에서 다른 조원 분들이 디버깅을 하던 절차를 떠올렸다!

내가 그린 기린 그림 콘솔 로그들

통과한 상태의 코드긴 하지만, 기억할 겸 남겨놓았당. 컴퓨터에게 어떤 식으로 연산하고 있는지

내게도 친절히 알려다오 하기 위해서, 로그 마다 설명도 쓰고 단계적으로 로그를 찍어보았다!

확실히 머리로 구상한 로직과 실제로 작동하는 과정은 다르다는 걸 깨달았고, 

이렇게 친절히 알려주게 시키니 개선도 빨리빨리 되는 경험이 좋았다!!

 

그렇게 통과를 하긴 했으나, 역시 풀이를 보면 기상천외한 분들이 많다...

다른 풀이를 보고 느낀 점? 반성한 점은 크게 두 가지!

  • 왜 slice()나 substr() 생각을 하지 못 했니... 담부턴 뭔가 추출한다 싶으면 떠올려보자! 덤으로 splice()도!
  • 배열을 만들고 굳이 filter()를 돌리기 보단 바로바로 개수를 세줬으면 더 빨라졌을 것 같다! filter()도 결국 반복문인데, 최대한 간소화할 수 있도록 연습해보자!

무튼 간만에 여유롭게 공부한 거 같아 기분이 좋다!

아직 팀 프로젝트 리드미를 작성해야한다는 큰 일이 남았지만..... 그거야 낼 하면 되지 ^_^