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

hybiis·2023년 1월 19일
0

프로그래머스 - JAVA

목록 보기
2/19

점의 위치 구하기

📖Q1.

사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.
x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.

✍A1.


class Solution {
    public int solution(int[] dot) { 
        
        int x=dot[0];
        int y=dot[1];
        int answer=0;
        
        if(x>0 && y>0){  //제1사분면 조건
        	answer=1;
        }
        else if(x<0 && y>0){  //제2사분면 조건
        	answer=2;
        }
        else if(x<0 && y<0){  //제3사분면 조건
        	answer=3;
        }
        else if(x>0 && y<0){  //제4사분면 조건
        	answer=4;
        }
        
        return answer;
    }
}

배열 자르기

📖Q2.

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.

✍A2.

class Solution {
   public int[] solution(int[] numbers, int num1, int num2) {
       int [] answer= new int [num2-num1+1];
       for(int i=num1; i<=num2; i++){
       answer[i-num1]=numbers[i];        
       }   
       return answer;
   }
}

피자 나눠먹기

📖Q3.

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

✍A3.

class Solution {
   public int solution(int slice, int n) {
       int answer = 0;   
       if(n%slice==0){ //피자 조각 나머지가 0일 때
           answer+= n/slice;
       }
       else{
           answer+= n/slice;
           answer++;
       }
       return answer;      
   }
}

아이스아메리카노

📖Q4.

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

✍A4.

class Solution {
   public int[] solution(int money) {
           
       int [] answer = new int[2];
       answer[0]=money/5500;
       answer[1]=money-5500*answer[0]; //money%5500도 가능
       
       return answer;
   }
}

배열 2배 만들기

📖Q5.

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

✍A5.

class Solution {
   public int[] solution(int[] numbers) {
   
       int[] answer = new int[numbers.length];
       
       for(int i=0; i<numbers.length;i++){
           answer[i]=numbers[i]*2; //2배 
       }
       return answer;
   }
}

배열의 유사도

📖Q6.

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

✍A6.

class Solution {
   public int solution(String[] s1, String[] s2) {
       int answer = 0;
       
       for(int i=0; i<s1.length;i++){
           for(int j=0; j<s2.length;j++){
               if(s1[i].equals(s2[j])){ //Sring은 equals사용하기                  
                   answer++;                    
               }            
           }
       }     
       return answer;
   }
}

배열 회전시키기

📖Q7.

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.

✍A7.

class Solution {
   public int[] solution(int[] numbers, String direction) {
       int[] answer = new int[numbers.length];
       
       if(direction.equals("right")){
           for(int i=0;i<numbers.length-1;i++){
               answer[i+1]=numbers[i];
           }
           answer[0]=numbers[numbers.length-1];
       } 
           else{
               for(int i=0;i<numbers.length-1;i++){
                   answer[i]=numbers[i+1];
               }
               answer[numbers.length-1]=numbers[0];
           }
       
       
       return answer;
   }
}
profile
초보 개발자

2개의 댓글

comment-user-thumbnail
2023년 1월 19일

헉! 자세한 풀이과정 너무 감사해요!! 현진님 보면서 동기부여 많이 받고 있어요😊
오늘도 좋은 하루 되세요~

1개의 답글