Coding Test

[COS PRO] 2급 1차 1번, 2번

gozer0 2024. 7. 22. 23:59

 

1번 단체 티셔츠를 주문하기

실습 내용

A 학교에서는 단체 티셔츠를 주문하기 위해 학생별로 원하는 티셔츠 사이즈를 조사했습니다. 선택할 수 있는 티셔츠 사이즈는 작은 순서대로 "XS", "S", "M", "L", "XL", "XXL" 총 6종류가 있습니다.

학생별로 원하는 티셔츠 사이즈를 조사한 결과가 들어있는 배열 shirtSize가 매개변수로 주어질 때, 사이즈별로 티셔츠가 몇 벌씩 필요한지 가장 작은 사이즈부터 순서대로 배열에 담아 return 하도록 solution 메소드를 완성해주세요.

 

매개변수 설명

학생별로 원하는 사이즈를 조사한 결과가 들어있는 배열 shirtSize가 solution 메소드의 매개변수로 주어집니다.

 

  • shirtSize 의 길이는 1 이상 100 이하입니다.
  • shirtSize 에는 치수를 나타내는 문자열 "XS", "S", "M", "L", "XL", "XXL" 이 들어있습니다.

 

import java.util.*;

class Main {
    public int[] solution(String[] shirtSize) {
        int[] answer = new int[6];
            for(int i=0;i<6;i++){
                if(shirtSize[i]=="XS"){
                    answer[0]+=1;
                }
                if(shirtSize[i]=="S"){
                    answer[1]+=1;
                }
                if(shirtSize[i]=="M"){
                    answer[2]+=1;
                }
                if(shirtSize[i]=="L"){
                    answer[3]+=1;
                }
                if(shirtSize[i]=="XL"){
                    answer[4]+=1;
                }
                if(shirtSize[i]=="XXL"){
                    answer[5]+=1;
                }
            }
				
        return answer;
    }
    
        // 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다.
    public static void main(String[] args) {
        Main sol = new Main();
        String[] shirtSize = {"XS", "S", "L", "L", "XL", "S"};
        int[] ret = sol.solution(shirtSize);
 
        System.out.println("solution 메소드의 반환 값은 " + Arrays.toString(ret) + " 입니다.");
    }
}

 

 

 

2번 쇼핑몰 등급별 할인 금액 구하기

실습 내용

A 쇼핑몰에서는 회원 등급에 따라 할인 서비스를 제공합니다.
회원 등급에 따른 할인율은 다음과 같습니다.
(S = 실버, G = 골드, V = VIP)

등급 할인율
"S"  5%
"G"  10%
"V" 15%


상품의 가격 price와 구매자의 회원 등급을 나타내는 문자열 grade가 매개변수로 주어질 때, 할인 서비스를 적용한 가격을 return 하도록 solution 메소드를 완성해주세요.

import java.util.*;

class Main {
    public int solution(int price, String grade) {

            if(grade.equals("S")){
                price=(int)(price*0.95);
            }
            else if(grade.equals("G")){
                price=(int)(price*0.90);
            }
            else if(grade.equals("V")){
                price=(int)(price*0.85);
            }
    return price;
    } 

    // 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다.
    public static void main(String[] args) {
        Main sol = new Main();
        int price1 = 2500;
        String grade1 = new String("V");
        int ret1 = sol.solution(price1, grade1);
        
        System.out.println("solution 메소드의 반환 값은 " + ret1 + " 입니다.");
        
        int price2 = 96900;
        String grade2 = new String("S");
        int ret2 = sol.solution(price2, grade2);
        
        System.out.println("solution 메소드의 반환 값은 " + ret2 + " 입니다.");

    }
}

 

문자로 비교 조건을 줄때는

grade.equals() 사용하기

 

  • 참조 비교 (==): 두 객체가 같은 메모리 주소를 참조하는지 여부를 확인
  • 값 비교 (equals): 두 문자열이 동일한 값을 가지고 있는지 여부를 확인