항해99 4기 동기분(이름은 개인정보라서 밝히지 않겠음)이 알고리즘 문제를 쉽게 접근하는 방법에 대해 강의를 진행 해주셨다. 블로그 기재에 대해서 허가를 받았고 강의 내용에 나왔던 의사코드를 더 알고 싶어서 추가로 찾아보고 정리했다.
난이도가 낮은 문제들은 문제를 읽어서 진행 하면 시행착오를 겪더라도 풀 수 있었는 데
난이도가 올라 갈 수록 문제에 직관력이 낮아져서 문제를 이해하기 어려 웠는 데 좋은 강의 덕분에
알고리즘 문제를 풀 때 어떻게 접근해서 문제를 쪼개면 좋은 지 많이 배울 수 있었다!
1. 지문 읽기
- 키워드를 캐치한다.
(목적, 규칙, 로직으로 정리하기)
2. 주석 쓰기
- 코드 작성 전에 무작정 써본다.
(손으로 써보면서 흐름을 잡아본다.)
3. 변수 정의하기
- 어떤 기능을 쓸 지, 변수 구조는 어떻게 할 지 생각한다.
(어떤 변수가 필요한 지 어떤 함수가 필요한 지 미리 생각 해본다.)
4. 함수로 흐름 짜보기
- 알고리즘을 쉽게 만들어 준다.
(필요한 함수가 어떤 게 있는 일단 짜본다.)
+ 무작정 적어봐라
(함수명이 아니어도 되고, 추상적으로 적어도 되고, 나만의 언어로 적어도 된다. 적다 보면 흐름을 잡을 수 있다.)
나만의 언어로 적는 방법 중 의사 코드(수도 코드)를 사용하는 방법이 있다.
: 작업의 단계별 현황을 알 수 있고 작업의 범위를 알 수 있다.
(큰 조각을 작은 조각들로 나눠서 풀면 난이도가 낮아 질 수 있다.)
의사 코드(수도 코드란)?
: 프로그램 코드를 작성 할 때 사용하기 위해, 프로그램의 진행 과정을 단계별로 기록 해놓은 것
-> 가짜 코드로써, 알고리즘이 수행될 내용을 인간의 언어로 간략하게 설명 해놓을 것을 말한다.
<-> 순서도는 논리적인 흐름을 나타내는 도구로써 명령문들의 연관 관계를 시각적으로 보여주는 것이다.
의사 코드를 사용하면 좋은 점은?
: 코딩 입력을 시작하기 전에 사고를 좀 더 명확히 정립 하게 만들어 줘서 프로그램을 설계하는 데 도움이 된다.
단순히 소스코드를 입력 하는 거솝다 함수 프로그램을 만들 때 많은 시간을 낭비 할 수 있다.
어느정도 각 풀이법의 장점과 단점을 주도면밀하게 살펴보면서 의사코드를 작성하게 된다면,
이후 디버그를 수정하고 코드를 재분해 하는 데 걸리는 시간을 줄일 수 있다.
https://42kchoi.tistory.com/114
5. 함수 구현하기
- 생각이 맞는 지 증명한다.
+ 검색하는 방법
-> 키워드를 잘 캐치해서 검색 하거나 stackoverflow 사이트를 이용하는 방법도 있다.
https://docs.google.com/presentation/d/1Ls4U6tGDdcSdqkldjVPhmpL8Mfj4ZOI9/edit
'더 알아보기 > 팁' 카테고리의 다른 글
웹개발 툴 (숨겨진 유용한 기능들🍯🐝) (0) | 2021.11.23 |
---|---|
styled-components 자동 완성 플러그인 (0) | 2021.11.17 |
알고리즘을 대하는 올바른 자세 특강 by 박현준 멘토님 (0) | 2021.11.09 |
Git, Github로 회사에서 협업 하는 방법 (0) | 2021.11.04 |
Git, Github로 프로젝트 올리는 방법 (0) | 2021.11.04 |
댓글