inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 278. 기사단원의 무기

    프로그래머스 (136798)
    Stupefyee's avatar
    Stupefyee
    May 26, 2025
    [JAVA 문제 풀이] 278. 기사단원의 무기
    Contents
    내가 작성한 코드다른 사람의 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/136798
    notion image
     

    내가 작성한 코드

    class Solution { public int solution(int number, int limit, int power) { int answer = 0; for (int i = 1; i <= number; i++) { int count = 0; int sqrt = (int) Math.sqrt(i); // 약수의 개수를 구하는 방법 >> 제곱근 이하의 수로 나누어 약수 찾기기 for (int j = 1; j <= sqrt; j++) { if (i % j == 0) { count += 2; // j와 i/j 두 개의 약수 if (j * j == i) count--; // 제곱수일 때 중복 제거 } } if (count > limit) { count = power; } answer += count; } return answer; } }
     

    다른 사람의 코드

    class Solution { public int solution(int number, int limit, int power) { int[] count = new int[number + 1]; // 각 숫자의 약수 갯수 구하기 for (int i = 1; i <= number; i++) { for (int j = 1; j <= number / i; j++) { count[i * j]++; } } int answer = 0; for (int i = 1; i <= number; i++) { if (count[i] > limit) { answer += power; } else { answer += count[i]; } } return answer; } }
     
    Share article
    Contents
    내가 작성한 코드다른 사람의 코드

    stupefyee

    RSS·Powered by Inblog