LeetCode 문제들을 풀고 정리하는 repository입니다.
❕ 무엇을 하든 무조건 이해하기.
알고리즘을 푸는 이유는 논리적 사고방식으로 알고리즘을 도출하는 훈련 을 하기위한 것이다.
따라서, 사소한 알고리즘이라도 작성한 코드에 대해 "정확히" 이해하고 분석하자. 또한, 이 알고리즘 문제는 왜 이런식으로 풀었고 어떤 유형의 알고리즘 문제인지에 대해서도 정확히 공부하자.
❕ 무작정 정답을 보고 붙여넣기 보다는 일단 해보기
알고리즘 문제를 푸는 이유는 논리적으로 생각하기 위함 이다. 따라서 어려운 문제가 나왔더라도 바로 구글링을 하거나 정답지를 보지 않고, 생각하는 힘을 기르는게 중요하다.
생각이 안 난다면, 노트를 두고 그림을 그리거나 입력에 대한 출력을 마구 적어보자. 그렇게 하다 보면 입력값과 출력값들 사이의 규칙을 확인할 수 있다.
❕ 깔끔한 코드 및 네이밍
코드를 지저분하게 작성하지 말고, 변수의 네이밍 또한 나만 이해할 수 있게 선언하지 말자. 항상 다른 사람이 쉽게 이해하고 확인할 수 있게 작성하자.
❕ 정리
다시 한번, 강조하지만 개념에 대해서 배우면 얼렁뚱땅 넘기려 하지 말자. 개념을 정확히 알고, 개념에 대해서 정확히 이해해야만 스스로 습득하는 것이다.