Programmers 문제풀이

AWESOMee·2022년 11월 25일
0

Programmers

목록 보기
1/1

lv1. 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.

class Solution {
    public String solution(int num) {
        String answer = "";
        
        answer = num % 2 == 0 ? "Even" : "Odd";
        
        return answer;
    }
}

실수

  • ; 안찍어서 처음에 런타임에러 발생

lv.1 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++) {
            if(n % i == 0) {
                answer += i;
            }
        }
        
        return answer;
    }
}

실수

  • int i 0으로 초기화하는 바람에 에러나서 1로 초기화하는 것으로 수정함
  • for loop의 조건문을 i < n로 적어서 에러 발생. i <= n로 수정함

보완

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        // n의 약수 중 n을 제외한 최대값은 'n / 2'보다 클 수 없음
        // 때문에 조건문을 'i <= n / 2'로 수정
        for(int i = 1; i <= n / 2; i++) {
            if(n % i == 0) {
                answer += i;
            }
        }
        
        // for문 조건문이 수정되어 n의 약수중 최대값인 n 이 제외되었기 때문에
        // answer 값에 n 자기자신 더하여 반환
        return answer + n;
    }
}

lv.1 평균 구하기

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

class Solution {
    public double solution(int[] arr) {
        double answer = 0;
        
        for(int i = 0; i < arr.length; i++) {
            answer += arr[i];
        }
        
        return answer / arr.length;
    }
}

실수

  • .length()로 적어서 에러 발생. .length로 수정

다른 풀이

import java.util.Arrays;

class Solution {
    public double solution(int[] arr) {
    	// 이런 라이브러리를 사용하는 방법도 있음
        return (int) Arrays.stream(array).average().orElse(0);
    }
}
profile
개발을 배우는 듯 하면서도

0개의 댓글