반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- docker 삭제
- 최소 스패닝 트리
- docker 완전 삭제
- 빅데이터분석기사
- 청년 AI Big Data 아카데미 13기
- 최단 경로 알고리즘
- 프로그래머스 가운데 글자 가져오기 파이썬
- 나누어 떨어지는 숫자 배열 java
- 최소 스패닝 트리 자바
- codeup 1020 java
- m1 docker
- 트리의 지름 java
- m1 docker install
- 코드업 1020 자바
- 가운데 글자 가져오기 자바
- 나누어 떨어지는 숫자 배열 python
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 청년 Ai Big Data 아카데미
- 트리의 지름 자바
- codeup 1020 자바
- 가운데 글자 가져오기 python
- docker remove
- 빅분기실기
- 가운데 글자 가져오기 파이썬
- 프로그래머스 가운데 글자 가져오기 python
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 핸즈온 머신러닝
- 코드업 1020 java
- 가운데 글자 가져오기 java
- 프로그래머스 가운데 글자 가져오기 자바
Archives
- Today
- Total
NineTwo meet you
[프로그래머스/자바] 약수의 개수와 덧셈 본문
반응형

문제 설명
두 정수 left와 right가 매개변수로 주어집니다.
left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ left ≤ right ≤ 1,000
입출력 예
left | right | result |
13 | 17 | 43 |
24 | 27 | 52 |
입출력 예 설명
입출력 예 #1
- 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.
수 | 약수 | 약수의 개수 |
13 | 1, 13 | 2 |
14 | 1, 2, 7, 14 | 4 |
15 | 1, 3, 5, 15 | 4 |
16 | 1, 2, 4, 8, 16 | 5 |
17 | 1, 17 | 2 |
- 따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다.
입출력 예 #2
- 다음 표는 24부터 27까지의 수들의 약수를 모두 나타낸 것입니다.
수약수약수의 개수
수 | 약수 | 약수의 개수 |
24 | 1, 2, 3, 4, 6, 8, 12, 24 | 8 |
25 | 1, 5, 25 | 3 |
26 | 1, 2, 13, 26 | 4 |
27 | 1, 3, 9, 27 | 4 |
- 따라서, 24 - 25 + 26 + 27 = 52를 return 해야 합니다.
설명
간단하게 left부터 right까지의 숫자의 약수의 개수를 구해 짝수일때는 더하고 홀수일때는 빼는 문제다.
코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
public int solution(int left, int right) { | |
int answer = 0; | |
for(int i = left; i < right+1; i++){ | |
int count = 0; | |
for(int j = 1; j <= i/2+1; j++){ | |
if(i%j == 0){ | |
if(j == i/j) count += 1; | |
else count += 2; | |
} | |
} | |
if(count%2 == 0) answer += i; | |
else answer -= i; | |
} | |
return answer; | |
} | |
} |
정확성 테스트
테스트 1 〉 | 통과 (5.29ms, 53.4MB) |
테스트 2 〉 | 통과 (1.17ms, 52.8MB) |
테스트 3 〉 | 통과 (1.24ms, 52.9MB) |
테스트 4 〉 | 통과 (0.64ms, 53.2MB) |
테스트 5 〉 | 통과 (5.57ms, 51.9MB) |
테스트 6 〉 | 통과 (0.44ms, 52.2MB) |
테스트 7 〉 | 통과 (0.11ms, 52.2MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
- 월간 코드 챌린지 시즌2 약수의 개수와 덧셈
반응형
'프로그래밍 문제 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/SQL] SELECT 역순 정렬하기 (0) | 2021.06.07 |
---|---|
[프로그래머스/SQL] SELECT 모든 레코드 조회하기 (0) | 2021.06.07 |
[프로그래머스/자바] 로또의 최고 순위와 최저 순위 (0) | 2021.05.22 |
[프로그래머스/자바] 행렬 테두리 회전하기 (0) | 2021.05.07 |
[프로그래머스/자바] 배달 (0) | 2021.05.06 |
Comments