728x90
반응형
SMALL
안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)
🪅 나의 문제 풀이
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i < n; i++){
if(n%i == 0){
answer++;
}
}
return answer;
}
}
[테스트 통과]
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++){
if(n%i == 0){
answer++;
}
}
return answer;
}
}
🧸 코드설명
[해결 방안]
n % i가 0이라면 n만큼의 수를 반복문을 돌려 도출한 것들은 n의 약수인 것입니다.
제한사항에 i가 되는 수는 1 이상이여야 하고, 이는 매개변수인 자연수 n과 같거나 작아야 합니다.
쉬운 문제이지만, for문과 if문의 조건문을 제대로 세웠으나, 이후 answer의 개수를 출력하는 부분과 i의 반복문 돌릴 크기 지정에 주의하여야 하는 문제였습니다.
✨ 다른 풀이
풀이 1)
n % i의 결괏값이 0인 것들만 filter 하여 count를 세어준다. 범위는 1부터 n까지이며 결과는 (int) 형변환 해준 IntStream에 담아 리턴해줍니다. 정말 대단하신 분이 계속 문제를 이런 식으로 풀어내시는데.... 존경합니다 ㅠㅠ
풀이 2)
1과 자기자신으로 if문을 만들어 리턴하는 것은 딱히 생각못했는데, Math함수를 이용하여 n보다 하나큰 숫자로 < 범위를 만들어주고 삼항연산자를 사용한 코드가 인상깊네요.
728x90
반응형
LIST
'。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★ > 나의 코딩테스트' 카테고리의 다른 글
[프로그래머스/Java] 코딩테스트 Lv.0 아이스 아메리카노 (0) | 2023.10.10 |
---|---|
[프로그래머스/Java] 코딩테스트 Lv.0 특정 문자 제거하기 (0) | 2023.10.07 |
[프로그래머스/Java] 코딩테스트 Lv.0 자릿수 더하기 (1) | 2023.10.04 |
[프로그래머스/Java] 코딩테스트 Lv.0 최댓값 만들기(1) (0) | 2023.10.03 |
[프로그래머스/Java] 코딩테스트 Lv.0 짝수는 싫어요 (0) | 2023.10.01 |