본문 바로가기

알고리즘11

알고리즘 & 자료구조 알고리즘 (Algorithm) 은 문제 해결 방법을 정의한 '일련의 단계적 절차' 이자 어떠한 문제를 해결하기 위한 '동작들의 모임'이다. 계산을 실행하기 위한 단계적 규칙과 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서이자, 프로그램명령어의 집합을 의미하기도 한다.- 출처: [위키백과] 알고리즘자료구조 (Data Structure) 는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다.자료구조에는 여러 종류가 있으며, 이러한 각각의 자료구조는 각자의 연산 및 목적에 맞추어져 있다. 따라서, 자료구조에는 여러 종류가 있으며, 이러한 각각의 자료구조는 각자의 연산 및 목적에 맞추어져 있다.자료구조가 선택되면 적용할 알고리즘은 상.. 2024. 8. 17.
제곱수 수학에서 정사각수(正四角數, square number) 또는 제곱수(-數) 또는 완전제곱수(完全-數, perfect square number)는 어떤 자연수의 제곱이 되는 수이다. 음이 아닌 정수 n에 대하여 n^2의 꼴로 나타낼 수 있는 수를 정사각수라고 한다. 모든 정사각수는 홀수개의 약수를 가진다. [출처] 위키백과 - 정사각수 * 관련 문제: - [백준] 13909번: 창문 닫기 2023. 6. 24.
기약분수 기약분수(Irreducible Fraction)는 분자와 분모의 공약수 (Greatest Common Factor, GCF)가 1뿐이어서 더이상 약분되지 않는 분수이다. 분자와 분모를 1 이외의 공통된 약수로 나누는 행위를 약분(Reduction of a fraction) 이라고 한다. 정수 a,b에 대해, 분수 a/b가 기약분수라는 것과, a,b가 서로소 즉, 최대공약수가 1이라는 것은 같은 의미이다. [출처] 위키백과 - 기약분수 기약분수는 분모와 분자의 최대공약수를 구한 뒤 분모와 분자에 각각 나눠주면 된다. (예) 분모: 120, 분자: 90 == 최대공약수: 30 → 분모: 4, 분자: 3 이 때, 최대 공약수를 구하는 방법에는 유클리드 호제법 등이 있다. * 연관 문제: - [백준] 1735번.. 2023. 6. 20.
유클리드 호제법 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 입력으로 두 수 m,n(m>n)이 들어온다. n이 0이라면, m을 출력하고 알고리즘을 종료한다. m이 n으로 나.. 2023. 6. 19.
중앙값 중앙값(中央-, median) 또는 중위수(中位數)는 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미한다. 예를 들어 1, 2, 100의 세 값이 있을 때, 2가 가장 중앙에 있기 때문에 2가 중앙값이다. 값이 짝수개일 때에는 중앙값이 유일하지 않고 두 개가 될 수도 있다. 이 경우 그 두 값의 평균을 취한다. 예를 들어 1, 10, 90, 200 네 수의 중앙값은 10과 90의 평균인 50이 된다. 중앙값(median)은 중심경향치(center tendency)의 하나로 전체 데이터 중 가운데에 있는 수치 값이다. 직원이 100명인 회사에서 직원들 연봉 평균은 5천만원인데 사장의 연봉이 100억인 경우, 회사 전체의 연봉 평균은 1억 4851만 원이다. 이처럼 극단적인 .. 2023. 6. 7.