[코드트리 '합을 옆으로 밀어 출력' 문제]
https://www.codetree.ai/missions/4/problems/push-the-sum-sideways-to-output/description
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
풀이 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n, inp, sum = 0;
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> inp;
sum += inp;
}
string result = to_string(sum);
result.push_back(result.front());
result.erase(result.begin());
cout << result;
return 0;
}
- int형으로 값을 더한 sum을 구한 후 sum의 front값을 맨 뒤에 붙여주고 쓸모가 없어진 front값을 지워주는 식으로 풀이하였습니다.
string함수를 사용하지 않은 풀이 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n, inp, sum = 0;
string result;
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> inp;
sum += inp;
}
// string으로 변환
while (sum != 0)
{
result += (sum % 10) + '0';
sum /= 10;
}
// 거꾸로 저장되어있는 result를 마지막만 빼고 원래대로 출력
for (int i = result.length() - 2; i >= 0; --i)
cout << result[i];
// 마지막 수 출력
cout << result.back();
return 0;
}
[배운점]
- string과 관련된 함수들을 더 잘 활용할 수 있게 되었다! 또한 함수를 사용하지 않고 문제를 풀어보며 그 함수들의 원리를되새길 수 있었다.
'알고리즘' 카테고리의 다른 글
[c++ | 백준] 2961번 도영이가 만든 맛있는 음식 (0) | 2024.08.13 |
---|---|
[c++ | 백준] 1991번 트리 순회 (0) | 2024.08.13 |
[코드트리 조별과제] '알파벳 지우기' 문제 풀이 (0) | 2024.08.05 |
[c++ | 백준] 1158번 요세푸스 문제 (1) | 2024.04.30 |
[c++ | 백준] 5622번 다이얼 (1) | 2024.03.12 |