본문 바로가기

알고리즘3

Python 라이브러리 없이 기약분수 구하는 방법 이번 시간에는 Python 라이브러리를 사용하지 않고 기약분수를 구하는 방법에 대해서 알아보겠습니다. 10/8 의 분수가 있다고 가정합니다. 분자는 10, 분모는 8 이라 해당 분수는 기약 분수가 아닙니다. 기약분수로 나타내려면 분자와 분모의 최대공약수를 분자와 분모에 나눠줘서 표현해 줘야 합니다. 최대공약수를 구하기 위해서는 유클리드 호제법을 사용합니다. 예를 들어 분자를 분모로 나눈 나머지 값이 0이면 해당 분모는 최대공약수가 됩니다. 만약 나머지 값이 0이 아니면 분모를 나머지 값으로 다시 나눠줍니다. 이렇게 반복해서 나머지 값이 0이 나올 때의 나눈 값이 최대 공약수가 됩니다. 만약 나머지 값이 이전의 나머지 값과 같다면 최대공약수가 존재하지 않습니다. 10을 8로 나누면 2가 남습니다. 0이 아.. 2023. 7. 5.
쌀 배달 그리디 알고리즘 | C++ 안녕하세요. 혀코입니다. 이번 시간에는 최적의 값을 찾는 그리디 알고리즘에 대해서 알아보겠습니다. 쌀을 n kg 주문을 받아서 배달을 해주는 프로그램을 만든다고 가정해 보겠습니다. 쌀을 담은 포대가 5kg, 3kg 밖에 없을때, 최소한의 개수로 배달을 할 수 있게 최적의 개수를 찾는 알고리즘이 그리디 알고리즘 입니다. 만약 18kg을 주문받았다고 했을 때, 5kg 세개와 3kg 하나 이렇게 4개를 배달하면 되고, 6kg을 주문받았다고 했을 때는 3kg 2개를 배달하면 되고, 최적의 값을 찾지 못했을 때는 -1이 출력이 되어야 합니다. 우선, 가장 큰 값으로 n을 나눠줘야 합니다. 만약 나머지가 발생되면, n에서 작은값을 한번 빼주고 작은값을 뺀 값에서 다시 큰 값으로 n을 나눠주고 나머지가 남는지 확인해.. 2020. 9. 11.
프로그래머스 - 프로그래밍 교육 및 알고리즘 테스트 연습 가능한 웹사이트 프로그래밍 온라인 강의 자료를 찾다가 우연히 발견한 프로그래머스 웹사이트를 소개하고자 합니다. 프로그래머스 웹사이트는 다른 프로그래밍 강좌 웹사이트와는 달리 알고리즘 테스트 연습을 할 수 있어서 취업을 생각하시거나 이직을 생각하시는 분들에게 유용할 것으로 생각이 됩니다. 프로그래머스 웹사이트 바로가기 자료구조 & 알고리즘은 처음 접해 보네요. ㅎㅎ 컴퓨터 프로그래밍에 관심이 있거나 컴퓨터를 전공하신 분이시라면 알고리즘이 중요하다는 것을 익히 아실겁니다. 또한, 회사 입사시에도 알고리즘 문제를 가지고 테스트 보는 것이 요즘 트렌드 인것 같습니다. 요즘 각광받고 있는 블록체인에 관한 수업도 있는 것을 확인할 수 있으며, 프로그래밍 선호도 1위 언어인 파이썬에 관한 수업도 있습니다. 알고리즘 연습 섹션 페이지.. 2018. 7. 16.