알고리즘 문제에 쉽게 접근하는 방법
본문 바로가기
더 알아보기/팁

알고리즘 문제에 쉽게 접근하는 방법

by 은돌1113 2021. 11. 12.

항해99 4기 동기분(이름은 개인정보라서 밝히지 않겠음)이 알고리즘 문제를 쉽게 접근하는 방법에 대해 강의를 진행 해주셨다. 블로그 기재에 대해서 허가를 받았고 강의 내용에 나왔던 의사코드를 더 알고 싶어서 추가로 찾아보고 정리했다.

 

난이도가 낮은 문제들은 문제를 읽어서 진행 하면 시행착오를 겪더라도 풀 수 있었는 데

난이도가 올라 갈 수록 문제에 직관력이 낮아져서 문제를 이해하기 어려 웠는 데 좋은 강의 덕분에

알고리즘 문제를 풀 때 어떻게 접근해서 문제를 쪼개면 좋은 지 많이 배울 수 있었다!

 

1. 지문 읽기

- 키워드를 캐치한다.

(목적, 규칙, 로직으로 정리하기)

 

2. 주석 쓰기

- 코드 작성 전에 무작정 써본다.

(손으로 써보면서 흐름을 잡아본다.)

 

3. 변수 정의하기

- 어떤 기능을 쓸 지, 변수 구조는 어떻게 할 지 생각한다.

(어떤 변수가 필요한 지 어떤 함수가 필요한 지 미리 생각 해본다.)

 

4. 함수로 흐름 짜보기

- 알고리즘을 쉽게 만들어 준다.

(필요한 함수가 어떤 게 있는 일단 짜본다.)

 

+ 무작정 적어봐라

(함수명이 아니어도 되고, 추상적으로 적어도 되고, 나만의 언어로 적어도 된다. 적다 보면 흐름을 잡을 수 있다.)

 

나만의 언어로 적는 방법 중 의사 코드(수도 코드)를 사용하는 방법이 있다.

: 작업의 단계별 현황을 알 수 있고 작업의 범위를 알 수 있다.

(큰 조각을 작은 조각들로 나눠서 풀면 난이도가 낮아 질 수 있다.)

 

의사 코드(수도 코드란)?

: 프로그램 코드를 작성 할 때 사용하기 위해, 프로그램의 진행 과정을 단계별로 기록 해놓은 것

-> 가짜 코드로써, 알고리즘이 수행될 내용을 인간의 언어로 간략하게 설명 해놓을 것을 말한다.

<-> 순서도는 논리적인 흐름을 나타내는 도구로써 명령문들의 연관 관계를 시각적으로 보여주는 것이다.

 

의사 코드를 사용하면 좋은 점은?

: 코딩 입력을 시작하기 전에 사고를 좀 더 명확히 정립 하게 만들어 줘서 프로그램을 설계하는 데 도움이 된다.

단순히 소스코드를 입력 하는 거솝다 함수 프로그램을 만들 때 많은 시간을 낭비 할 수 있다.

어느정도 각 풀이법의 장점과 단점을 주도면밀하게 살펴보면서 의사코드를 작성하게 된다면,

이후 디버그를 수정하고 코드를 재분해 하는 데 걸리는 시간을 줄일 수 있다.

 

https://42kchoi.tistory.com/114

 

의사코드(Pseudo-code) 작성법

의사코드(pseudo code) 작성법 의사코드 개념 : 의사코드란 프로그램 코드를 작성할 때 사용하기 위해, 프로그램의 진행 과정을 단계별로 기록해 놓은 것. 가짜의(Pseudo) - 코드 로써, 알고리즘이 수

42kchoi.tistory.com

 

5. 함수 구현하기

- 생각이 맞는 지 증명한다.

 

+ 검색하는 방법

-> 키워드를 잘 캐치해서 검색 하거나 stackoverflow 사이트를 이용하는 방법도 있다.

 

https://docs.google.com/presentation/d/1Ls4U6tGDdcSdqkldjVPhmpL8Mfj4ZOI9/edit

 

댓글