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
- 코딩
- 자료구조
- aop
- Entity
- Grafana
- Til
- 배열
- 프로그래머스
- 자바
- ArrayList
- 면접(java
- 메서드
- 코딩공부
- 회고
- 코딩문제
- 이진 탐색(binary search)
- Spring
- GIT
- 개발자 취업
- CS
- cs 공부)준비
- 항해99
- 99클럽
- css
- 정렬 알고리즘(sort algorithm)
- 코딩테스트 준비
- HTML
- wil
- github
- Java
Archives
- Today
- Total
hayu's 개발 일지
[TIL]240305 약수의 개수와 덧셈 본문
문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한 조건
- 1 ≤ left ≤ right ≤ 1,000
입출력 예
left | right | result |
13 | 17 | 43 |
24 | 27 | 52 |
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/77884
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
class Solution {
public int solution(int left, int right) {
int answer = 0;
for (int i = left; i <= right; i++) {
int count = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
count++;
}
}
if (count % 2 == 0) {
answer += i;
} else {
answer -= i;
}
}
return answer;
}
}
풀이 설명
- left 와 right 사이의 수들 중이라는 조건이 있기 때문에 반복문의 범위는 left 와 right 사이로 지정했다.
- 반복문으로 나머지를 구해서 약수의 개수를 구하고 약수의 개수가 짝수일 때와 홀수일 때의 계산을 했다.
'코딩 문제 > 프로그래머스_java' 카테고리의 다른 글
[TIL]240309 문자열 다루기 기본 (0) | 2024.03.09 |
---|---|
[TIL]240306 문자열 내림차순으로 배치하기 (2) | 2024.03.06 |
[TIL]240229 없는 숫자 더하기 (0) | 2024.02.29 |
[TIL]240217 숫자 문자열과 영단어 (1) | 2024.02.17 |
[TIL]240216 최소직사각형 (0) | 2024.02.16 |