코딩테스트 3

나의 알고리즘 공부 여정3 - 스택과 큐, 풀이의 유사성

20210310_TIL 스택, 큐 관련 백준 알고리즘 문제를 풀면서 경험을 쌓았다. 스택, 큐 개념은 이틀 전 밤에 강의를 들으면서 익혀놨던 터라 개념을 알고는 있었는데 관련 문제를 푸는 건 처음이었다. 따라서 어떻게 관련 method들을 적용하여 구현해야 할 지 감이 안와서 내가 짠 코드들이 매우 마음에 안들었다. 스택 자료구조관련 method들을 완벽하게 응용해 풀지 못했다. 그래서 든 생각인데 난이도 있는 개념을 공부한 후 관련 문제 풀이를 '처음할 때'에는, 2시간 정도 고민 후 모범 답안 풀이를 보고 풀이를 익히는 방법이 효율적일 것 같다. 개념을 모범적으로 구현한 풀이를 익히면, 다음에 동일 개념 다른 문제를 풀 때 코드가 좀 더 나아질 테니 말이다. 마침 오늘 스택 관련 문제를 두 개나 풀었..

나의 알고리즘 공부 여정2 - 자료구조, 알고리즘, 재귀, 정렬, 이분탐색

20210309_TIL 어제 정리한 자료구조, 알고리즘, 프로그래밍 언어라는 큰 틀에서 알고리즘 문제를 바라보는 시도를 했다. 하단 오늘 푼 문제 설명에 이 관점을 적용해 보았다. 재귀 함수, 정렬, 이분탐색 관련한 백준 문제들을 풀며 관련 개념을 익혔다. 아주 어려운 개념이 아닌 이상 문제에서 요구하는 코드의 80% 정도는 구현이 가능한 수준이 되었다. 이게 가능한 이유는 두 가지가 있을 것 같다. 1) 입력과 출력 관련한 코드 구현 기술이 익숙해졌다. 2) 자료구조, 알고리즘, 프로그래밍 언어라는 큰 틀 안에서 관련 정보들을 정리하는 작업을 진행했었다. 덕분에 문제를 읽고 자료구조와 알고리즘을 선택하고, 이를 구현하기 위한 파이썬 언어 정보를 찾아보는 과정에 체계(?) 비스무리한 것이 생겼기 때문인 ..

나의 알고리즘 공부 여정1 - 우리는 왜 알고리즘을 공부하는가?

20210308_TIL 금, 토, 월 3일간 백준 알고리즘 문제들을 풀어나가며, 문제풀이에 필요한 개념들을 구글링해 공부했다. 그때 그때 필요한 자료들을 찾아 공부하며 머릿 속에 쌓은 파편적인 지식들을 파이썬 문법, 자료구조, 알고리즘이라는 큰 구조에 분류해 집어넣는 작업을 진행했다. 머릿속에 굴러다녔던 정보들이 좀 정리가 된 기분이다. 0. 선 문풀 후 개념정리 지난 주 금, 토 그리고 오늘까지 3일간 백준 알고리즘 문제를 풀었다. 노베이스이지만, 문제를 풀기위해 문제풀이에 필요한 개념들을 하나 하나 검색하며 문제를 풀었다. 직접적인 풀이를 검색한 것은 아니다. 내가 했던 검색 방법의 예를 들면, "알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램..