1. 의사 코드
들어온 음식의 갯수의 절반만큼 해당 음식을 채워 넣음
0을 한번 집어넣고 반대로 다시 채워넣음
2. 제출 코드
#include <string>
#include <vector>
using namespace std;
string solution(vector<int> food) {
string answer = "";
for(int i = 1; i < food.size(); ++i)
{
int num = food[i] / 2;
for(int j = 0; j < num; j++)
{
answer += to_string(i);
}
}
answer += '0';
for (int i = food.size() - 1; i > 0; --i)
{
int num = food[i] / 2;
for(int j = 0; j < num; j++)
{
answer += to_string(i);
}
}
return answer;
}
3. Trouble Shooting
-
AI Feedback
실력 향상을 위해 추가로 공부할 사항
① string 생성자와 STL 문자열 활용
- string(n, ch), string(str, pos, len) 등 다양한 생성자 숙지
- 문자열을 직접 반복 이어붙이는 것보다 훨씬 효율적이고 깔끔한 코드 작성 가능
② reverse() 및 <algorithm> 헤더 숙지
- reverse(), sort(), find(), count() 등 STL 알고리즘 함수들은 코딩 테스트에서 매우 자주 사용됨
- 직접 구현하지 않고 STL을 활용하는 습관을 들이면 생산성과 안정성이 크게 향상됨
③ 팰린드롬(Palindrome) 패턴 인식
- 이 문제는 본질적으로 대칭 문자열을 구성하는 팰린드롬 구성 문제
- 투 포인터, 문자열 뒤집기 등 팰린드롬 관련 문제를 추가로 풀어보면 유사 유형 대응력이 높아짐
- 추천 문제: 프로그래머스 "올바른 괄호", "이상한 문자 만들기"
④ int 캐스팅 주의 ((int)food.size())
- food.size()는 size_t (unsigned) 타입을 반환하므로, int i와 비교 시 컴파일 경고가 발생할 수 있음
- (int)food.size() 또는 i < food.size()에서 i를 size_t로 선언하는 습관을 들이면 좋음
반응형
'AlgorithmCodekata' 카테고리의 다른 글
| [AlgorithmCodeKata] 2026-03-23 | 명예의 전당 (1) (0) | 2026.03.23 |
|---|---|
| [AlgorithmCodeKata] 2026-03-20 | 콜라 문제 (0) | 2026.03.20 |
| [AlgorithmCodeKata] 2026-03-12 | 문자열 내 마음대로 정렬하기 (0) | 2026.03.12 |
| [AlgorithmCodeKata] 2026-03-11 | 숫자 문자열과 영단어 (0) | 2026.03.11 |
| [AlgorithmCodeKata] 2026-03-10 | 시저 암호 (0) | 2026.03.10 |