https://school.programmers.co.kr/learn/courses/30/lessons/12928
루프를 반만 돌리고도 같은 값을 구하는 방법
약수의 합이기 때문에 n의 절반까지만 루프를 돌고 합에 n만 더해도 약수의 합이 된다.
class Solution {
public int solution(int n) {
int answer = 0;
//1. 정수 n 입력받기
//2. n의 약수 찾고 더하기
for(int i =1; i<=n/2 ;i++){
if(n%i == 0){
answer += i;
}
}
return answer + n;
}
}
처음에 내가 썼던 코드
class Solution {
public int solution(int n) {
int answer = 0;
//1. 정수 n 입력받기
//2. n의 약수 찾고 더하기
for(int i =1; i<=n ;i++){
if(n%i == 0){
answer += i;
}
}
쉬운 문제도 다른 사람 답 보기를 하면 정말 신기한 방법이 많다.
나와 다른 방법의 풀이들도 계속 보다 보면 나도 더 효율적인 코드를 쓰는 방법을 떠올릴 날이 오겠지.
반응형
'코딩테스트 > Java' 카테고리의 다른 글
프로그래머스/자바 lv.1 문자열 내 p와 y의 개수 - charAt(), toLowerCase(), toUpperCase() (0) | 2024.03.10 |
---|---|
프로그래머스/자바 lv.1 자연수 뒤집어 배열로 만들기 (2) | 2024.03.06 |
[Java] ArrayList, 컬렉션 프레임워크, 인터페이스, 제네릭 - lv.0 5명씩 (3) | 2024.03.05 |