-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[스텍, 큐, 덱] 8월 26일 #2
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p2. 한번 함수형 프로그래밍으로 기능들을 분리해 보세요! 수고하셨습니다!
|
||
using namespace std; | ||
|
||
int main() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p2. main함수에서는 입출력만 넣어주시는 편이 좋습니다! 기능을 분리하여 함수로 만들어보세요!
} | ||
} | ||
cout << '>'; | ||
return 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
주석과 로직 좋습니다!
|
||
using namespace std; | ||
|
||
int main() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p2. 마찬가지로 함수 분리해주세요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[스택, 큐, 덱 구현 코드 리뷰 완료]
10757(P3)
안녕하세요 서영님! 코드 리뷰 완료되었습니다👍
주석 남겨주신 것도 좋았고, 문제도 깔끔하게 잘 풀어주셨어요!
간단한 코멘트 몇 개 남겼습니다~
궁금한 점이 있으시다면 리뷰어를 호출해주세요~
if (sum >= 10) | ||
{ | ||
carry = true; | ||
result.push_front(sum - 10); | ||
} | ||
else | ||
{ | ||
carry = false; | ||
result.push_front(sum); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사소하지만,
carry = sum / 10;
result.push_back(sum % 10);
이렇게 하면 조금 더 간결하게 표현할 수 있어요~
|
||
// 문자열로 입력받기 | ||
string a, b; | ||
deque<char> A, B; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3
알튜비튜에서는 변수 이름으로 알파벳 소문자를 사용하고 있습니다! a_deque와 같은 이름으로 변경해 보는 것은 어떨까요?
for (int i = 0; i < a.size(); i++) | ||
{ | ||
A.push_back(a[i]); | ||
} | ||
for (int i = 0; i < b.size(); i++) | ||
{ | ||
B.push_back(b[i]); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
문자열을 덱 2개에 각각 집어넣은 다음에 덱에서 값을 꺼내 연산하는 식으로 문제를 풀어주셨네요! 덱의 성질을 잘 이용해주셨습니다👍👍 단, 이러면 덱에 값을 푸시하고 팝하는 과정에서 연산이 많이 일어나기 때문에, 효율성 면에서는 성능이 조금 떨어질 수 있다는 점 알아주세요!
for (int i = 0; i < size; i++) | ||
{ // 뒷자리부터 차례대로 계산 | ||
if (A.empty()) | ||
{ | ||
m = 0; | ||
} | ||
else | ||
{ | ||
m = A.back() - '0'; // char to int를 위해 '0'을 뺀다 | ||
A.pop_back(); | ||
} | ||
if (B.empty()) | ||
{ | ||
n = 0; | ||
} | ||
else | ||
{ | ||
n = B.back() - '0'; | ||
B.pop_back(); | ||
} | ||
int sum = m + n; | ||
if (carry) | ||
{ // 이전 계산에서 carry가 있다면? | ||
sum++; | ||
} | ||
if (sum >= 10) | ||
{ | ||
carry = true; | ||
result.push_front(sum - 10); | ||
} | ||
else | ||
{ | ||
carry = false; | ||
result.push_front(sum); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
덧셈과 덱의 성질을 이용해서 덧셈을 잘 구현해주셨어요!
문서영
2017012
1158/4949/10757