본문 바로가기

Algorithm/이것이 코딩 테스트다2

구현 1. 아이디어를 코드로 바꾸는 구현 구현 : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 문제 해결 분야에서 구현 유형의 문제는 '풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제'를 의미 구현하기 어려운 문제 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 특정 소수점 자리까지 출력해야 하는 문제 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는(파싱을 해야 하는) 문제 완전 탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야 하는 문제 유형 구현 시 고려해야 할 메모리 제약 사항 파이썬에서 리스트 크기 int 자료형 데이터의 개수에 따른 메모리 사용량 1,000개 : 약 4K.. 2023. 4. 11.
그리디(Greedy) 알고리즘 1. 당장 좋은 것만 선택하는 그리디 그리디 알고리즘 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 매 순간 가장 좋아 보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음. 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형 창의력, 즉 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구함. 주로 정렬 알고리즘과 짝을 이뤄 출제됨. 그리디 알고리즘 해법의 정당성 검토할 것. 예제) 거스름돈 문제 손님에게 거슬러 줘야 할 돈이 N원일 때, 500원, 100원, 50원, 10원짜리 동전을 이용하여 거슬러줘야 할 동전의 최소 개수를 구하시오. IDEA '가장 큰 화폐 단위부터' 돈을 거슬러 준다. 풀이 N = 1260 count = 0 coin_ty.. 2023. 4. 9.