코딩항해기

[프로그래머스] JAVA, Python으로 문제풀이 본문

problem solving/코딩 테스트

[프로그래머스] JAVA, Python으로 문제풀이

miniBcake 2024. 11. 22. 17:39

 

 

문제를 JAVA와 Python 두 가지로 풀어보며 두 언어의 차이를 알며 Python 공부 진행

 

1. 

 

JAVA

package test;

public class AvgArray {
    public static void main(String[] args) {
    //확인용
        int[] arr = {89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99};
        System.out.println(solution(arr));
    }

    public static double solution(int[] arr) {
        double answer = 0;

        //입력받은 배열의 값을 모두 sum 변수에 저장
        double sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        //입력받은 길이로 나눠 평균값 추출(answer)
        answer = sum / arr.length;

        return answer;
    }
}

 

Python

def solution(numbers):
    answer = 0

    #총합 구해서 길이로 나누기
    answer = sum(numbers)/len(numbers)

    return answer

#확인용
arr = [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
print(solution(arr))

 

 

2.

 

JAVA

package test;

public class DupeNum {
    public static void main(String[] args) {
        int[] array = {1, 1, 2, 3, 4, 5};
        System.out.println(solution(array, 1));
    }

    public static int solution(int[] array, int n) {
        int answer = 0;

        //배열을 순회하며 n과 일치한다면 answer에 1추가
        //answer 반환

        for (int num : array){
            if (num == n){
                answer++;
            }
        }

        return answer;
    }
}

 

Python

def solution(array, n):
    answer = 0

    #n을 포함하는 개수 answer에 저장
    answer = array.count(n)

    return answer

array = [1, 1, 2, 3, 4, 5]
print(solution(array, 1))

 

 

3.

 

JAVA

package test;

public class Game369 {
    public static void main(String[] args) {
        //확인용
        System.out.println(solution(3));
        System.out.println(solution(1));
    }

    private static int solution(int order) {
        int answer = 0;
        //order를 문자열로 변환
        //처음부터 차례로 비교하며 3,6,9 중 하나라면
        //answer 개수 증가
        //아니라면 아무것도 하지 않음
        //전부 확인 후 answer전달

        String numberStr = order+"";
        for(int i = 0; i < numberStr.length(); i++){
            if(numberStr.charAt(i) == '3' || numberStr.charAt(i) == '6' || numberStr.charAt(i) == '9'){
                answer++;
            }
        }

        return answer;
    }
}

 

Python

def solution(order):
    answer = 0

    #order를 문자열로 변환
    #3을 몇 개 포함하는지 확인해 누적
    #6을 몇 개 포함하는지 확인해 누적
    #9을 몇 개 포함하는지 확인해 누적
    #answer를 전달

    numberStr = str(order)
    answer += numberStr.count('3')
    answer += numberStr.count('6')
    answer += numberStr.count('9')

    return answer


# 확인용
print(solution(3))
print(solution(1))