<Coding>코딩 문제를 해결하는 과정

진섭·2022년 2월 6일
0

Kotlin

목록 보기
4/6
post-thumbnail

📌 코딩 문제를 해결하는 과정

Github 돌아다니다가 블로그에 기록하고 싶은 내용이 있어서 기록할려고 합니다.
영어를 번역한거라 어색한곳이 있을 수 있습니다. 밑에 출처 남기겠습니다.

1945년 헝가리 수학자 George Pólya 의 문제 해결 방법

  1. 문제를 이해해야 한다.
  2. 이해 후 계획을 세운다.
  3. 계획을 실행한다.
  4. 어떻게 하면 더 잘 할 수 있을까 고민해 본다.

구체적인 문제 해결 방법

문제 이해

  1. 내가 문제를 바꿀 수 있습니까?
  2. 입력 내용이 뭐죠?
  3. 결과가 어떻게 되죠?
  4. 문제의 일부인 중요한 데이터의 이름을 어떻게 지정해야 합니까?
  5. 구체적인 사례 살펴보기
    5.1 간단한 예제에서 시작하여 더 복잡한 예제로 진행
    5.2 입력이 안된 부분 찾기
    5.3 잘못 입력된 부분 찾기

문제 분해하기

문제를 해결하기 위해 취해야 하는 정확하고 원자적인 단계를 작성하십시오. 종이에 작성하거나 코드가 포함된 파일에 주석으로 작성할 수 있습니다.

이렇게 하면 작성하기 전에 작성할 코드에 대해 생각해야 하며 세부 사항(예: 언어 구문)에 들어가기 전에 문제나 오해를 파악하는 데 도움이 됩니다.

문제 풀기

이제 작성한 단계를 순서대로 해결하면 문제를 풀기 훨씬 쉬워진다. 그러나 문제가 잘 안 풀리는 경우 유사한 문제를 풀어보거나 가장 어려운 부분을 빼고 단순하게 해결 하는 방식을 시도 하는 편이 좋다.

Refactor & Simplify

  1. 코드 리팩토링 해보기
  2. 성능 향상(Big-O 표기법)
  3. 다른 사람은 어떻게 문제를 풀어봤는지 확인하기

의도적으로 연습하기

의도적으로 연습은 위의 전략을 훌륭하게 보완할 수 있다.
1. 코딩 문제풀기
2. 자신이 푼 답안과 다른 사람이 푼 답안 비교해보기
3. 두 답안이 어떻게 다른지 어떻게 개선할 수 있는지 고민해 보기
4. 코딩 문제를 다시 풀어보고 이전 답안과 비교해보기

이런 과정을 며칠/몇 주/ 몇달에 걸쳐 여러번 반복적으로 수행한다.

출처: https://github.com/igorwojda/kotlin-coding-challenges/wiki/Solving-coding-chalenges
profile
Android 개발자

0개의 댓글