Coding Test/그리디 알고리즘
[그리디 알고리즘] 2839번 설탕배달 풀이(파이썬)
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다..
[그리디 알고리즘] 1049번 기타줄 풀이(파이썬)
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱..
[그리디 알고리즘] 2847번 게임을 만든 동준이 풀이(파이썬)
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 ..
[그리디 알고리즘] 1758번 알바생 강호 풀이(파이썬)
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁..
[그리디 알고리즘] 11047번 동전0 풀이(파이썬)
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 백준에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다. 그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다. [접근 방식] - 문제에서 요구하는 역량은 무엇인지? - 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다. - 백준 문제 링크입니다. : https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (..
[Algorithm] 탐욕(Greedy) 알고리즘이란
안녕하세요. Harry입니다. 본 포스팅의 목적은, 코딩테스트를 준비함에 있어 스스로 공부한 지식을 정리하고자 합니다. - 무슨 개념인지? - 개념이 나오게 된 배경은? - 그 개념은 왜 쓰는지? - 장점/단점은 무엇인지? - (유사한 것이 있다면) 서로 차이는 무엇인지? 를 최대한 고려하여 정리해보겠습니다. 1. 그리디 알고리즘이란?(what?) 그리디 알고리즘은, 당장 좋은 것만을 고르는 알고리즘이다. 즉, 당장 주어진 선택지 중에서 눈앞에 보이는 가장 최적의 상황을 고르는 것으로, 그 이후에 발생할 상황을 고려하지 않는다는 것이다. 그러므로 직관적이지만 국소적(local)이므로 결과론적(global)으로 봤을 때 항상 최적의 해답을 보장하지 않는다. 예를 들어, 현재 선택할 수 있는 선택지 중에서 ..