반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[프로그래머스/Java] 코딩테스트 Lv.0 아이스 아메리카노 본문

。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★/나의 코딩테스트

[프로그래머스/Java] 코딩테스트 Lv.0 아이스 아메리카노

yeonee 여니 2023. 10. 10. 00:37
728x90
반응형
SMALL

안녕하세요.

#yeoneeblog 여니입니다 :)

 

 

 

🪅나의 문제풀이

// 시도1
class Solution {
    public int[] solution(int money) {
        int[] answer = {};
        int a = 5500;
        
        for(int i=0; i<answer.length; i++){
            answer[0] = money / 5500;
            answer[1] = money % 5500;
        }
        return answer;
    }
}

[테스트 통과]

class Solution {
    public int[] solution(int money) {
        int[] answer = new int[2];
        int a = 5500;
        
        if(money < 5500){
            answer[0] = 0;
            answer[1] = money % 5500;
        }else{
            answer[0] = money / 5500;
            answer[1] = money % 5500;
        }
        return answer;
    }
}

[해결 방법]

처음엔 배열의 길이를 이용한 반복문을 쓰는건가 싶었는데, 그냥 간단한 if 조건문으로 풀 수 있는 문제였습니다.
배열에 대한 인덱스 개념도 알아야 풀 수 있는 문제입니다. 다소 쉬운 문제이기도 합니다.

🧸 코드분석

기본개념인 나누기 연산이 헷갈리면 풀 수 없는 문제이며, 먼저 배열의 크기를 정해준 뒤 if 조건문을 만들고 기본적인 %와 / 연산의 차이점을 이용하면 됩니다.

a % b : a를 b로 나누고 난 뒤 나머지 (커피를 사고 남은 돈)

a / b : a를 b로 나눈 몫 (살 수 있는 커피 수)

 

🌟 다른 풀이

풀이1) 

이렇게 answer 선언없이,  int배열의 결과값을 바로 집어넣어주는 멋진 한 줄짜리 코드가 있었다....

 

풀이2)

조건문이 없어도 가능한 문제였습니다!

 

풀이3)

처음에 저도 이 방식으로 arrayList를 쓸까 했다가 조건식을 사용했는데, 이런 방법으로 푸는 방법도 있구나 하고 배우고 갑니다.

728x90
반응형
LIST