본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 커피 심부름

by 블루데이제이 2024. 5. 24.
728x90
반응형
문제 설명

팀의 막내인 철수는 아메리카노와 카페 라테만 판매하는 카페에서 팀원들의 커피를 사려고 합니다. 아메리카노와 카페 라테의 가격은 차가운 것과 뜨거운 것 상관없이 각각 4500, 5000원입니다. 각 팀원에게 마실 메뉴를 적어달라고 하였고, 그 중에서 메뉴만 적은 팀원의 것은 차가운 것으로 통일하고 "아무거나"를 적은 팀원의 것은 차가운 아메리카노로 통일하기로 하였습니다.각 직원이 적은 메뉴가 문자열 배열 order로 주어질 때, 카페에서 결제하게 될 금액을 return 하는 solution 함수를 작성해주세요. order의 원소는 아래의 것들만 들어오고, 각각의 의미는 다음과 같습니다.

order의 원소			의미
"iceamericano", "americanoice"	차가운 아메리카노
"hotamericano", "americanohot"	따뜻한 아메리카노
"icecafelatte", "cafelatteice"	차가운 카페 라테
"hotcafelatte", "cafelattehot"	따뜻한 카페 라테
"americano"			아메리카노
"cafelatte"			카페 라테
"anything"			아무거나
제한사항
1 ≤ order의 길이 ≤ 1,000
입출력 예
order								result
["cafelatte", "americanoice", "hotcafelatte", "anything"]	19000
["americanoice", "americano", "iceamericano"]			13500
입출력 설명
입출력 예 #1
예제 1번의 입력을 표로 나타내면 다음과 같습니다.

order[i]	팀원의 적은 음료		실제 주문 음료
"cafelatte"	카페 라테		차가운 카페 라테
"americanoice"	차가운 아메리카노	차가운 아메리카노
"hotcafelatte"	따뜻한 카페 라테		따뜻한 카페 라테
"anything"	아무거나			차가운 아메리카노
철수는 차가운 아메리카노 2잔, 차가운 카페 라테 1잔, 따뜻한 카페 라테 1잔을 주문하게 되므로 결제 금액은 4500 × 2 + 5000 × 2 = 19000원입니다. 따라서 19000을 return 합니다.

입출력 예 #2
예제 2번의 입력에서는 모든 음료를 차가운 아메리카노로 시키게 됩니다. 따라서 결제 금액은 4500 × 3 = 13500원이고 13500을 return 합니다.

내 풀이
Java
class Solution {
    public int solution(String[] order) {
        int answer = 0;
        
        for(int i = 0; i < order.length; i++){
            if(order[i].contains("cafelatte")){
                answer += 5000;
            }else{
                answer += 4500;
            }
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// order_len은 배열 order의 길이입니다.
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* order[], size_t order_len) {
    int answer = 0;
    int i;
    for(i = 0; i < order_len; i++){        
        if(strstr(order[i], "cafelatte") != 0){
            answer += 5000;
        }else{
            answer += 4500;
        }
            
    }
    return answer;
}
Python
def solution(order):
    answer = 0
    
    for i in order:
        if "cafelatte" in i:
            answer += 5000
        else:
            answer += 4500
    
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/181837

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

Apple 2024 맥북 에어 13 M3

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

728x90
반응형