Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
https://school.programmers.co.kr/learn/courses/30/lessons/120846?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
나의 풀이
import java.util.List;
import java.util.ArrayList;
class Solution {
public int solution(int n) {
List<Integer> compNums = new ArrayList<Integer>();
for(int i=2; i<=n; i++) {
int cnt = 0;
for(int j=1; j<=i; j++) {
if(i%j == 0) cnt++;
if(cnt >= 3) {
compNums.add(i);
break;
}
}
}
return compNums.size();
}
}
다른 사람의 풀이
- 4 이상 부터는 소수가 아닌 약수인 경우, 합성수인 점을 이용했다.
- 불필요한 반복을 줄이고 약수만 카운팅해서 반환하는 풀이이다.
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 4; i <= n; i++){
for(int j = 2; j < i; j++){
if(i % j == 0){
answer++;
break;
}
}
}
return answer;
}
}
'Dev > PS' 카테고리의 다른 글
[프로그래머스-코딩테스트 입문] 팩토리얼 (0) | 2023.08.12 |
---|---|
[프로그래머스-코딩테스트 입문] 최댓값 만들기 (1) (0) | 2023.08.12 |
[프로그래머스-SQL 고득점 Kit] 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2023.08.11 |
[프로그래머스-SQL 고득점 Kit] 자동차 평균 대여 기간 구하기 (0) | 2023.08.11 |
[프로그래머스-SQL 고득점 Kit] 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.08.11 |