[프로그래머스/C++] 푸드 파이트 대회

꿈별·2024년 2월 15일
0

문제풀이

목록 보기
43/52

문제


풀이

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(vector<int> food) {
    string answer = "";
    string first = "";
    for (int i = 1; i < food.size(); i++)
    {
        if (1 == food[i] % 2)
            food[i]--;
        first.append((food[i]/2), i+'0');
    }
    answer = first + '0';
    reverse(first.begin(), first.end());
    answer += first;
    return answer;
}

assign(), append() reverse()

  • assgin은 초기화하는 함수(라서 기존 내용 없어짐)
    append는 맨 뒤에 추가하는 함수(라서 기존 내용 그대로)

  • 풀이할 때, 아래 코드를

answer = first + '0';
    reverse(first.begin(), first.end());
    answer += first;

이런 식으로 쓰고 싶었지만 reverse()는 반환 타입이 void라서 불가능하다.

answer = first + '0' + reverse(first.begin(), first.end());

0개의 댓글