알고리즘 공부 - PS의 의미와 시간복잡도
✏️ Problem Solving이란? 그대로 번역하면 문제를 해결하는 것, 문제를 해결하는 방법을 찾는 것이다. 문제를 해결하기 위해서는 절차가 있고 그 절차/알고리즘을 설계하는 것을 말한다. 풀어야 하는 문제들 입력과 출력이 정의된 문제가 주어짐 입력을 넣었을 때 올바른 결과를 출력하는 프로그램을 작성 과 이 있음 대회 등에서는 정해진 시간 동안에 여러 문제를 빠르게 풀어야 한다 문제가 뭘까? 문제에 나와있는 내용을 그대로 구현하기 조건을 만족하는 최댓값/최솟값을 구하기 주어진 연산을 효율적으로 처리하기 주어진 작업을 하는데 필요한 최소/최대 비용 구하기 등등 문제를 해결하는 과정 자연어로 된 문제를 잘 읽는다 수학적으로 잘 모델링한다 풀이를 생각한다 내가 생각한 풀이가 맞는지 검증한다 내가 생각한 풀이를 코드로 옮긴다 제출한다(백준, CodeForce 등) 틀렸다면 왜 틀렸는지 고민한다 (맞을 때까지 무한반복♾️) 결국엔 이부분이 매우 중요한 것이다. 따라서 수학적/논리적인…