[프로그래머스] 77884번 - 약수의 개수와 덧셈 [Java]

2026. 4. 10. 11:03·프로그래머스
 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


 

문제

 

 

제출한 코드

class Solution {
    public int solution(int left, int right) {
        int result = 0;
        
        for (int i = left; i <= right; i++) {
            if (i % Math.sqrt(i) == 0) result -= i;
            else result += i;
        }
        
        return result;
    }
}

 

 

풀이

문제에서 약수의 개수가 짝수인 수는 더하고, 홀수인 수는 빼라고 되어 있다. 조금 복잡해 보일 수 있지만, 사실은 약수의 개수가 홀수인 수는 제곱수밖에 없다. 

이 점을 활용하기 위해 자바에서 제공하는 Math 클래스를 이용해서 문제를 풀었다. 그중 sqrt() 메서드를 사용해서 제곱수인 수를 골라내어 제곱수가 맞다면 result -= 해당숫자 를, 아니라면 result += 해당숫자 를 하여 결과를 도출했다.

'프로그래머스' 카테고리의 다른 글

[프로그래머스] 12918번 - 문자열 다루기 기본 [Java]  (0) 2026.04.15
[프로그래머스] 82612번 - 부족한 금액 계산하기 [Java]  (0) 2026.04.14
[프로그래머스] 12917번 - 문자열 내림차순으로 배치하기 [Java]  (0) 2026.04.13
[프로그래머스] 70128번 - 내적 [Java]  (0) 2026.04.10
[프로그래머스] 12922번 - 수박수박수박수박수박수? [Java]  (0) 2026.04.08
'프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 82612번 - 부족한 금액 계산하기 [Java]
  • [프로그래머스] 12917번 - 문자열 내림차순으로 배치하기 [Java]
  • [프로그래머스] 70128번 - 내적 [Java]
  • [프로그래머스] 12922번 - 수박수박수박수박수박수? [Java]
이서라다
이서라다
  • 이서라다
    개발일지
    이서라다
  • 전체
    오늘
    어제
    • 전체 보기 (79)
      • 내일배움캠프 (21)
        • TIL (21)
      • 프로그래머스 (23)
      • Algorithm (2)
      • BackEnd (0)
        • Spring (0)
      • Language (4)
        • JAVA (4)
      • Git (2)
      • 백준 - Java (25)
        • 입출력과 사칙연산 (6)
        • 반복문 (8)
        • 1차원 배열 (1)
        • 문자열 (7)
        • 2차원 배열 (1)
        • 조합론 (1)
        • 정렬 (1)
      • IDE (1)
        • IntelliJ (1)
      • 티스토리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리스킨
    til
    내일배움캠프
    jdk삭제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이서라다
[프로그래머스] 77884번 - 약수의 개수와 덧셈 [Java]
상단으로

티스토리툴바