목록C언어 (9)
안 쓰던 블로그
탐욕 알고리즘이란? 탐욕법이란 이름 그대로 ‘눈 앞에 보이는 최선’을 탐욕적으로 선택하는 것을 반복하는 알고리즘 설계 패러다임 중 하나입니다. 탐욕법을 이용한 일고리즘을 탐욕 알고리즘, 그리디 알고리즘이라고 합니다. 전체를 여러 조각으로 나눠서 각 단계마다 답의 일부를 만들어 간다는 점에서 완전 탐색과 비슷하지만, 모든 선택지를 보는 완전 탐색과 달리 탐욕 알고리즘은 지금 당장 가장 좋은 해답을 선택합니다. 탐욕 알고리즘의 대표적인 문제로는 각 물건의 무게와 가치가 주어졌을 때, 가방에 가치가 높은 물건을 최대한 많이 담는 경우를 찾는 배낭 문제(Knapsack problem)이 있습니다. 탐욕 알고리즘의 한계 탐욕 알고리즘은 매 순간 가장 좋은 선택지만 고르기 때문에 전체적으로 봤을 때 더 좋은 선택지..
알고리즘 문제풀이란? Hello World! 알고리즘 세계에 오신 것을 환영합니다. 알고리즘이란 용어는 ‘문제를 해결하기 위한 절차나 방법’을 의미하는 포괄적인 단어입니다. 소프트웨어가 어떻게 돌아가는지부터 암호, 기계학습, 심지어는 ‘계란 샌드위치를 만드는 과정’도 알고리즘이라고 할 수 있습니다. 우리 소학회에서는 그중에서 프로그래밍에서 사용하는 알고리즘(자료구조, 그래프, 문자열 등)을 문제를 풀면서 트레이닝하는 ‘문제풀이’ 부분을 다룰 것입니다. 알고리즘 문제풀이는 크게 네 가지 단계로 나누어집니다. (1)문제를 읽고 (2)입력을 받아서 (3) 계산하고 출력합니다. 이번 주에 할 내용은(1) 번과알고리즘 문제풀이의 가장 기본적인 단계, 입력과 출력입니다. 정수 입력과 출력 백준뿐만 아니라 거의 대부..