Algorithm & Data Structure (2) 썸네일형 리스트형 프로그래밍 대회 디버깅 프로그래밍 대회나 백준에서 푸는 문제를 풀 때 원하는 결과와 다르게 나온 경우, 어떻게 할까?대다수 디버거를 켠다.하지만 프로그래밍 대회에서는 디버거 사용을 권장하지 않는다. 프로그래밍 대회에서 작성되는 코드는 대부분 길지 않기 때문에 눈 디버깅이 가능할 뿐더러, 재귀 호출이나 반복문이 많이 사용되어 코드가 디버깅에 적합하지 않은 구조다. 디버깅 대신 사용할 수 있는 것들을 소개한다. 1. 작은 입력에 대해 제대로 실행되나 확인하기오동작하는 가장 작은 입력을 먼저 찾아내면 디버깅이 훨씬 용이해진다.2. 단정문(assertion) 사용하기단정문이란, 주어진 조건이 거짓일 때 오류를 내고 프로그램을 강제 종료싴키는 함수 또는 구문을 의미한다.주어진 조건이 참일 때는 무시된다. 함수에서 넘겨받은 인자들이 범위.. 알고리즘 문제 해결 방법 1단계. 문제를 읽고 이해하기2단계. 문제를 익숙한 용어로 재정의문제를 추상화하여 재정의한다.현실 세계의 개념을 다루기 쉬운 수학적 개념으로 옮겨 재정의한다.어떻게, 어떤 부분을 추상화할 것인지에 따라 프로그램이 나아갈 방향이 정해진다.3단계. 문제 해결 계획 세우기문제를 어떻게 해결할지 결정하고, 사용할 알고리즘과 자료구조를 선택한다.3-1. 무식한 방법으로 풀 수 있을까? → 시공간 제약이 따른다면, 자료구조 개선 및 최적화 기법 적용하는 점직전인 개선3-2. 내가 문제를 푸는 과정을 수식화할 수 있을까?예제 입력을 손으로 풀어본다.위 과정을 공식화·수식화 해본다.예제 : QUANTIZE, NUMB3RS, RESTORE, MATCHORDER, POTION, TRAPCARD3-3. 문제를 단순화해볼 .. 이전 1 다음