Problem Solving/Memo
-
정답을 위해 신경써야 할 것들Problem Solving/Memo 2020. 4. 9. 14:35
❗️ 변수 중복을 조심하자 ◾️ 지역변수, 전역변수, 매개변수 중복을 유의하자 ❗️ 배열 범위를 넘어서지 말자 ◾️ 할당된 배열 범위를 넘어서는 접근을 하지말자 ❗️ 입출력 형식을 유의하자 ◾️ 정확한 형태로 입력을 받고, 정확한 형태로 정답 출력을 하자 ❗️ 문제를 정확히 읽자 ◾️ 공격적인 자세로 문제를 이해하자 ◾️ 시간복잡도 공간복잡도 철저히 체크하자 ◾️ 값의 범위 조건 철저히 체크 ( ex int 값을 초과하는 결과는 long long 타입 변수에 담아야 한다.) ❗️ 중복된 코드를 피하자 ◾️ 중복된 코드가 있으면 실수 발생확률이 높아진다. ◾️ 간결한 코드를 유지함으로써 가독성을 높이고, 디버깅을 용이하게 하자 ❗️ 작성한 코드에 대해 항상 의심하자 ◾️ 한 번에 답을 맞출 확률은 낮음. ..
-
문제 해결 능력을 연마하는 방법Problem Solving/Memo 2020. 3. 6. 14:03
문제 해결 능력은 프로그래밍 언어나 알고리즘 처럼 명확히 정의된 실체가 없는 추상적인 개념이다. 그렇기에 단순한 반복만으로는 연마하기 어렵다. 좋은 문제 해결자가 되기 위해서는 좀더 높은 차원의 수련이 필요하다. 이 수련의 목푠은 문제를 푸는 것이 아니라 문제를 푸는 기술을 연마하는 것이다. 이를 위해서는 자신이 문제를 어떤 방식으로 해결하는지를 의식하고 어느 부분이 부족한지, 어떤 부분을 개선해야 할지 파악해야한다. 문제 해결 과정을 여러 부분으로 나눠 보고 각 과정에 대한 검토를 하며 개선해 나가야한다. 각 단계에 대해 살펴보자. 1. 문제를 읽고 이해한다. 문제를 읽고 이해하는 것의 중요성은 아무리 강조해도 지나치지 않는다. 문제 설명을 공격적으로 읽으며 문제가 원하는 바를 완전히 이해하는 과정이 ..
-
분야를 막론한 좋은 개발자의 조건Problem Solving/Memo 2020. 3. 6. 01:37
공통된 좋은 개발자의 조건? 프로그래머는 프로그램을 만들 때 다음과 같은 사항을 고려해야한다. 1. 프로그램이 사용할 수 있는 최대 메모리 2. 프로그램이 동작하는데 걸리는 시간 3. 재사용성이 높은 간결한 코드 그 외 프로그래밍 언어의 특성, 프로그램이 동작할 하드웨어와 운영체제, 사용하고 있는 라이브러리들에 대한 유의사항을 고려하며, 프로그램을 개발해야한다. 이렇게 많은 조건과 요구사항을 이해하고 최선의 방법을 찾아내는 능력은 분야를 막론하고 좋은 프로그래머가 되기에 필수적이다. 이러한 능력을 문제 해결 능력이라고 한다. 문제 해결 능력은 추상적인 기술이기 때문에 훈련하기 매우 어렵다. 우리는 PS(Problem Solving)을 통해 이 능력을 계발할 수 있다. PS를 통해 얻을 수 있는 장점은 다..