코딩테스트

프로그래머스 코딩테스트(길이에 따른 연산, 문자열의 앞의 n글자, 자릿수 더하기)

SOME코딩 2023. 4. 24. 10:35

<길이에 따른 연산>

문제 설명
정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.

풀이

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        if(num_list.length>=11){
            for(int i:num_list){
                answer+=i;
            }
        } else {
            answer = 1;
            for(int j:num_list){
                answer*=j;
            }
        }
        return answer;
    }
}

 

다른 사람 풀이

import java.util.Arrays;

class Solution {
    public int solution(int[] num_list) {
        if (num_list.length > 10) return Arrays.stream(num_list).sum();
        int answer = 1;
        for (int n : num_list) answer *= n;
        return answer;
    }
}

 

<문자열의 앞의 n글자>

문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

 

풀이

class Solution {
    public String solution(String my_string, int n) {
        return my_string.substring(0,n);
    }
}

 

<자릿수 더하기>

문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        while(n!=0){
            answer+=n%10;
            n=n/10;
        }
        return answer;
    }
}