• [TIL] 2021년 5월 13일 목요일

    2021. 5. 14.

    by. KimBangg

     알고리즘

    급하게 코테를 준비 하고 난 후, 최근에 기본 문제들을 풀면서 "이전에는 너무 급하게만 풀었다"라는 생각이 든다.

    어려운 알고리즘 문제를 풀을 때 겪는 문제로는  아래의 3가지가 있는데 "많이"만 풀려고 하다보니 2,3 번 모두가 나에게 큰 문제로 다가왔다.

     

    <  문제가 어려운 이유  >

     

    1) 문제를 이해 못함

     

    1번의 경우 출제자의 의도가 아닌 문제 자체를 이해 못하는 경우에 해당한다. 이럴 때는 문제를 여러 번 읽어도 이해가 안가는데 경험을 해보니 처음부터 차근차근 읽으면 해결 되는 경우가 많은 것 같다.

     

    2) 문제는 이해 했는데, 어떤 방식으로 풀어야 할지 모르겠음.

     

    백준을 통해 문제를 풀었을 때의 가장 큰 문제점은 문제의 유형을 선택해서 들어 오기 때문에, 유형에 대해 고민 하지 않는다는 것이다. 그리하여 최근 릿코드 문제들을 풀면서 어떻게 풀면 좋을지 고민하는데 굉장히 좋은 습관으로 생각이 된다.

     

    3) 방식까지는 알았는데, 어떻게 구현할지 막막함.

     

    단순한 구현은 쉽지만, 문제가 어려우면 구현이 어려운 경우가 많아서 ! 직접 코드를 쳐보고 해결한 경험이 필요하다.

     

    그리하여, 이번에는 누구의 코드도 해결 할 떄 까지 참조 하지 않고, 풀었어도 더 효율적인 방법을 모색하며 나아가는데 처음으로 알고리즘이 좀 재미있는 느낌이 든다. 뭐 절대적인 재미와 비교한다면, 거짓말이겠지만 모든 공부가 그러지 않을까 생각한다.

     

    자바스크립트

    1) Set

     

    Set은 중복된 값을 제거한 배열을 만들어내는 내장함수인데, 이를 통해 다양한 문제 풀이가 될 수 있음을 느꼈습니다.

     

    2) 문제를 더 쉽게 보려고 하자

     

    문제를 어렵게가 아닌, 더 쉽게 풀 수 있는 방법들을 고민해보면 자바스크립트답게 풀 수 있는 경우가 많아지는 것 같습니다. 

    더 쉽고 잘 풀기 위해서 그리고 더욱 자바스크립트 답게 풀도록 노력 하겠습니다.

     

    댓글