728x90
반응형
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/148653
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
728x90
👩💻 코드
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int solution(int storey) {
int answer = 0;
while(storey > 0){
int n = storey % 10;
int next = (storey / 10) % 10;
if(n > 5){
answer += 10 - n;
storey += 10 - n;
}else if(n == 5){
if(next >= 5){
answer += 10 - n;
storey += 10 - n;
} else {
answer += n;
storey -= n;
}
}else{
answer += n;
storey -= n;
}
storey /= 10;
}
return answer;
}
📝 풀이
일의 자릿수부터 한 자리씩 비교합니다.
5보다 크다면 올림을 하고 5보다 작으면 내림을 합니다.
5인 경우 그 다음 자릿수의 수도 고려합니다.
다음 자릿수가 5이상이면 현재 자릿수를 올림을 하고 그렇지 않으면 내림을 합니다.
모든 자릿수를 비교한 후 answer을 return 합니다.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 호텔 대실 (1) | 2024.09.04 |
---|---|
[프로그래머스] 시소 짝꿍 (0) | 2024.09.04 |
[프로그래머스] 연속된 부분 수열의 합 (1) | 2024.09.03 |
[프로그래머스] 큰 수 만들기 (1) | 2024.08.29 |
[프로그래머스] 다리를 지나는 트럭 (1) | 2024.08.28 |