반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181837
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
답
#include <string>
#include <vector>
using namespace std;
int check(string order){
if(order=="americano"||order=="iceamericano"||order=="americanoice"||order=="hotamericano"||order=="americanohot"||order=="anything"){
return 4500;
}
else{
return 5000;
}
}
int solution(vector<string> order) {
int answer = 0;
for(int i=0;i<order.size();i++){
answer+=check(order[i]);
}
return answer;
}
1. 'check' 함수
- 문자열 'order'을 매개변수로 받는다.
(주문 내용) - 주어진 'order'이 아메리카노 관련주문일때.
("americano", "iceamericano", "americanoice", "hotamericano", "americanohot", "anything")- 4500을 반환한다.
- '모든 종류의 아메리카노'와 '아무거나' 는 모두 차가운 아메리카노로 통일했기 때문에 가격은 4500원이다.
- 아메리카노 관련 주문이 아닐때
- 5000을 반환한다.
- '아메리카노' 주문이 아니면 '카페 라테'이고 그 가격은 5000원이다.
2. 'solution' 함수
- 'answer': 최종 결과값을 저장하는 정수 변수이다. ( 초기값은 0이다.)
- for문
- vector 'order'의 모듣 요소를 순차적으로 순회한다.
- 'i'는 0부터 'order.size()'까지 증가한다.
- for문 안에서
- 현재 문자열 'order[i]'를 'check'함수에 전달하고
반환값을 'answer'에 추가한다.
- 현재 문자열 'order[i]'를 'check'함수에 전달하고
- 결과
- 'answer'을 반환한다.
참고
이 문제를 풀때 아메리카노 였을 떄를 기준으로 해서 if문을 작성하였는데
카페라테를 기준으로 if문을 만들어서 풀면 조금 더 간단 할 수도 있다.
끝
반응형
'c++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 왼쪽 오른쪽(c++) (2) | 2024.02.02 |
---|---|
[프로그래머스] 배열 만들기 5(c++) (1) | 2024.02.01 |
[프로그래머스] 0 떼기(c++) (0) | 2024.01.31 |
[프로그래머스] 정사각형으로 만들기(c++) (2) | 2024.01.31 |
[프로그래머스] 코드 처리하기(c++) (2) | 2024.01.31 |