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 | 31 |
Tags
- 오버로딩
- 운영체제의 예
- object클래스
- 참조형 반환타입
- this()와 참조변수 this 차이점
- 운영체제란 무엇인가
- 명예의전당(1)
- 운영체제의 목적
- stateful widget 생명주기
- 클래스 변수
- 이것이코딩테스트다
- 참조형 매개변수
- webview_flutter
- 오버라이딩과 오버로딩 차이점
- this()
- stateful widget
- 호출스택
- 프로그래머스
- 운영체제의 분류
- 초기화 순서
- FLUTTER
- static import문
- 운영체제의 구조
- 기본형 매개변수
- 조상의 생성자
- PriorityQueue
- 인스턴스 메서드
- 객체 배열
- stateless widget
- static 메서드
Archives
- Today
- Total
Coram Deo
[프로그래머스] Lv.1 기사단원의 무기 본문
- 제곱근을 이용하여 약수를 구한 풀이
class Solution {
public int solution(int number, int limit, int power) {
// 약수 구할 때 제곱근 이용해서 구해야 시간초과 안남 !
// 1~number까지 숫자들의 약수 개수를 각각 구하여 배열에 넣는다.
// 배열안의 숫자중 limit보다 큰 숫자는 power로 대체한다.
// 배열의 모든 원소의 총합을 구한다.
int answer = 0;
int[] yaksuArr = new int[number];
for(int i=0; i<yaksuArr.length; i++){
if(countYaksu(i+1) <= limit)
yaksuArr[i] = countYaksu(i+1);
else
yaksuArr[i] = power;
answer += yaksuArr[i];
}
return answer;
}
int countYaksu(int num){
int count = 0;
for(int i=1; i<=Math.sqrt(num); i++){
if(num % i == 0) {
count++;
if(i != (num / i)){
count++;
}
}
}
return count;
}
}
'알고리즘 공부' 카테고리의 다른 글
[프로그래머스] Lv.1 실패율 (0) | 2024.09.02 |
---|---|
[프로그래머스] Lv1. 문자열 내 마음대로 정렬하기 (0) | 2024.08.30 |
[프로그래머스] Lv1. K번째 수 (0) | 2024.08.30 |
[프로그래머스] Lv1. 최소 직사각형 (0) | 2024.08.30 |
[프로그래머스] JadenCase 문자열 만들기(Java) - 리팩토링 과정 (0) | 2024.07.09 |