프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int elevator(int storey) {
// 현재 층 수가 10층 이하일 때 내려가는게 빠른지 올라가서 10층을 내려가는게 빠른지 판별
if(storey < 10) return min(storey, 11 - storey);
int cntDown = storey % 10;
int cntUp = 10 - storey % 10;
// 현재 층에서 내려가는 횟수와 현재 층에서 올라가는 횟수 중 작은 값을 선택하여 최소 횟수를 계산
return min(elevator((storey - cntDown) / 10) + cntDown, elevator((storey + cntUp) / 10) + cntUp);
}
int solution(int storey) {
return elevator(storey);
}
'프로그래머스 > 2레벨' 카테고리의 다른 글
[프로그래머스/C++] 우박수열 정적분 (0) | 2024.03.10 |
---|---|
[프로그래머스/C++] 수식 최대화 (0) | 2024.03.10 |
[프로그래머스/C++] 가장 큰 정사각형 찾기 (0) | 2024.03.08 |
[프로그래머스/C++] 시소 짝꿍 (0) | 2024.03.08 |
[프로그래머스/C++] 숫자 카드 나누기 (0) | 2024.03.08 |