-
[프로그래머스] 기사단원의 무기 c++Coding Test/programmers 2023. 1. 17. 20:29728x90
문제 설명
기사단원의 수를 나타내는 정수 number와 이웃나라와 협약으로 정해진 공격력의 제한수치를 나타내는 정수 limit와 제한수치를 초과한 기사가 사용할 무기의 공격력을 나타내는 정수 power가 주어졌을 때, 무기점의 주인이 무기를 모두 만들기 위해 필요한 철의 무게를 return 하는 solution 함수를 완성하시오.
제한 사항
- 1 ≤ number ≤ 100,000
- 2 ≤ limit ≤ 100
- 1 ≤ power ≤ limit
입출력 예
number limit power result 5 3 2 10 10 3 2 21 풀이
약수의 개수를 구할 줄 아는지 확인하는 문제이다.
#include <string> #include <vector> #include <cmath> using namespace std; int divisor(int num){ int cnt = 0; for(int i = 1; i <= sqrt(num); i++){ if( num % i == 0){ cnt++; if( i != num / i){ cnt++; } } } return cnt; } int solution(int number, int limit, int power) { int answer = 0; for(int i = 1; i <= number; i++){ int n = divisor(i); answer += n > limit ? power : n; } return answer; }
728x90'Coding Test > programmers' 카테고리의 다른 글
[프로그래머스] 햄버거 만들기 c++ (0) 2023.01.18 [프로그래머스] 푸드 파이터 대회 c++ (0) 2023.01.18 [프로그래머스] 명예의 전당(1) c++ (0) 2023.01.17 [프로그래머스] 문자열 나누기 c++ (0) 2023.01.17 [프로그래머스] 가장 가까운 같은 글자 c++ (0) 2023.01.17