본문 바로가기

알고리즘10

제곱수 수학에서 정사각수(正四角數, 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.
정렬 정렬 알고리즘 정렬 알고리즘(sorting algorithm)이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 (정렬된 리스트에서 바르게 동작하는) 다른 알고리즘을 최적화하는 데 중요하다. 또 정렬 알고리즘은 데이터의 정규화나 의미있는 결과물을 생성하는 데 유용히 쓰인다. sort(vector.begin(), vector.end(), operator) sort(array, array + int, operator) [출처] 위키백과 - 정렬 알고리즘 * 연관 문제: - [백준] 11651번: 좌표 정렬하기 2 - [백준] 10817번: 세 수 (배열 정렬) 안정 정렬 (Stable Sort) 동등한 요소의 순서는 보존하면서 정렬하는.. 2023. 6. 6.