Alogrithm 알고리즘

katsukichi·2021년 3월 8일
0

CodeStates_IM

목록 보기
20/48

알고리즘?

사람마다 정의가 다 다르지만 결국엔

"문제를 어떤 식으로 푸는 것이 최선인가" 로 정의될 수 있다.

그렇다면 최선인 경우의 수는?

컴퓨터는 많은 방법을 시도할 수 있다.

  1. 수없이 많은 경우의 수를 하나씩 비교해서 그 중 최선을 골라내거나
  2. 하나씩 비교하지 않더라도 가장 좋아 보이는 것을 먼저 찾아냈다면, 뒤쪽의 경우의 수를 그냥 무시하는 경우

다만 그 속도가 빨라서 이과정을 보는 사람들에게는 그저 입력하면 나오는것으로 보인다.

getting started

문제를 이해하자

  • 흔히 코딩 테스트에서는 문제 설명과 입출력예시 및 제한사항, 주의사항등으로 어떤 문제를 해결해야 하는지 설명해준다. 주어진 조건을 토대로 어떤 문제인지를 이해하는 것부터 시작한다.

문제를 어떻게 해결할 수 있을지에 대한 전략을 세워보자

  • 페어와 수도코드를 먼저 작성해보자! 알고리즘 전략은 수도코드를 잘 짜는 것에서부터 시작한다
  • 연습장에 전체적인 그림을 그려가면서 페어와 나눠보자
  • 막혔던 생각이 페어에게 설명을 하면서 해결되는 경우도 있고, 전체적인 흐름을 공유할 수 있게 된다.

문제를 코드로 옮겨보자

  • 페어와 논의했던 전략을 코드로 옮겨보자
  • 구현한 코드를 페어와 논의해보고, 구현한 코드의 최적화를 시도해보자

개발자적 사고방식을 얻을수있는 과정이고

고통스러울것이다.

문제해결이 최종목적이지만 그 과정이 더 중요하다.

화이팅!

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글