[프로그래머스 LV.0] - JAVA[2]

hybiis·2023년 1월 23일
0

프로그래머스 - JAVA

목록 보기
3/19


📖Q1. 최댓값 만들기

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

✍A1.


class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        int index=0;
        int max=0;
        
        for( int i=0;i<numbers.length;i++){ //가장 큰 수 구하기
            if(numbers[i]>max){
                max=numbers[i];
                index=i;
            }
        }
        for(int i=0; i<numbers.length;i++){
            if(i!=index && answer<max*numbers[i]){ // 가장 큰 수를 제외한 두번째로 큰 수 구하기
                answer= max*numbers[i];
            }
        }       
        return answer;
    }
}

✍A1-1. (다른풀이)

import java.util.*;
class Solution {
    public int solution(int[] numbers) {
    
    int answer=0;
    Arrays.sort(numbers);//Arrays.sort()를 이용하여 배열 오름차순 정렬
    answer=numbers[numbers.length-1]*numbers[numbers.length-2];    
    }

📖Q2. 특정 문자 제거하기

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

✍A2.

class Solution {
    public String solution(String my_string, String letter) {
        
        return my_string.replaceAll(letter,""); //.replaceAll()을 이용하여 특정 문자 제거

    }
}

📖Q3. 문자 반복 출력하기

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

✍A3.

class Solution {
    public String solution(String my_string, int n) {
       String answer = "";
       for(int i=0;i<my_string.length();i++){ 
           for(int j=0; j<n;j++){
            answer+=my_string.charAt(i);
         }     
       }
        return answer;
    }
}

📖Q4. 문자 반복 출력하기

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

✍A4.

import java.util.*;
class Solution {
    public int solution(int[] array) {
    
    int answer=0;
    Arrays.sort(array); //배열 오름차순 정렬
    answer=array[arrat.length/2]; //중앙값
    return answer;
    
    }

📖Q5. 짝수는 싫어요

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

✍A5.

class Solution {
    public int[] solution(int n) {
        int[] answer=new int[(n+1)/2];
     
        for(int i=1; i<=n; i++){
            if(i%2 !=0){
               answer[i/2]=i;               
            }
        }
        return answer;
    }
}

✍A5-1.


import java.util.*;

class Solution {
    public ArrayList solution(int n) { //ArrayList 사용
        ArrayList<Integer> answer = new ArrayList<Integer>();

        for(int i=1; i<=n; i++){
          if(i%2 != 0) {
              answer.add(i);//홀수만 출력
          } 
        }

        return answer;
    }
}

📖Q6. 순서쌍의 개수

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

✍A6.

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i=1; i<=n;i++){
            if(n%i==0){ //n의 약수 구하기
                answer++;
            }
        }
        return answer;
    }
}

📖Q7. 옷가게 할인 받기

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

✍A7

class Solution {
    public int solution(int price) {
        int answer = 0;
        
        if(price>=100000 && price<300000){
            answer=(int)(price*0.95);
        }
        else if(price>=300000 && price<500000){
            answer=(int)(price*0.90);
        }
        else if(price>=500000){
            answer=(int)(price*0.80);
        }       
        else if(price<100000){
            answer=price;
        }
        
        return answer;
    }
}
profile
초보 개발자

0개의 댓글