약수의 개수 구하는 방법
숫자 N의 약수의 개수를 구하는 문제가 주어졌을 때, 1부터 N까지 모두 탐색을 하게 되면, N이 100,000같이 크기가 클 경우 시간이 많이 걸린다. 약수 개수를 구할 때, 시간을 줄이는 방법은 2가지가 있다. 1/ 소인수분해를 이용하는 방법 N을 소인수분해하여 각 소수의 지수를 구한 후, (각 지수+1) 값들을 곱하여 약수의 개수를 구한다. ex) N이 24일 경우 24 = 2³ * 3¹ → (3 + 1) * (1 + 1) = 4 * 2 = 8 즉, 24의 약수의 개수는 8이 된다. (1, 2, 3, 4, 6, 8, 12, 24) 2/ N의 제곱근으로 범위를 좁혀 탐색 만약 N이 24일 경우, 24의 제곱근(√24)은 4.xxxx이다. 따라서 1~24가 아닌, 1~4까지만 탐색해도 [ 1, 2, 3..
[프로그래머스] 다항식 더하기
[ 문제 ] 여기서 중요하게 봐야할 건, 결괏값을 '문자열'로 return하기! 여기서 잘 봐야할 건, '계수 1는 생략합니다'. 여기서 잠깐 용어 정리를 해보면 항 : 숫자 또는 문자의 곱으로 이루어진 식. 숫자와 문자를 곱한 것, 문자와 문자를 곱한 것, 숫자와 숫자를 곱한 것 ex: 3, 3a, a² 다항식 : 1개 이상의 항으로 이루어진 식. ex: 3x, 3x+1, 2y-2 단항식 : 다항식 중, 항이 1개만 있는 식. (즉, 단항식은 다항식에 포함됨) ex: 3x, -2, 1 차수 : 문자가 곱해진 횟수 ex 1) 4x² : x가 두번 곱해졌으므로 차수는 2. ex 2) 2y : y가 한 번 곱해졌으므로 차수는 1. ex 3) 1 : 문자가 곱해진 것이 없다. 그래서 차수는 0. 일차항 : 항..