Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 언리얼프로그래머
- 프메
- node
- flask
- Bootstrap4
- Enhanced Input System
- 스터디
- 스마일게이트
- 게임개발
- 디자드
- 으
- 언리얼
- 카렌
- 알고풀자
- VUE
- Ajax
- EnhancedInput
- R
- 정글사관학교
- 레베카
- 마인크래프트뮤지컬
- Unseen
- 프린세스메이커
- Jinja2
- 미니프로젝트
- JWT
- 데이터베이스
- 파이썬서버
- 언리얼뮤지컬
- Express
Archives
- Today
- Total
Showing
[알고리즘] 더하기 알고리즘 본문
const string result = Add(str1, str2); 에 대한 Add 함수를 아래와 같이 작성해보았다.
(1) 입력값이 str1과 str2를 뒤집어준다.
(2) 두 입력값 중에서 더 큰 사이즈를 for문의 범위로 설정한다.
(3) 자리수마다 덧셈하고 덧셈의 값이 10을 넘으면 1을 다음 자리로 넘긴다. 10으로 나눈 나머지는 계속 answer에 축적
(4) (3)을 반복하면서 모든 자리수를 다 연산하면 answer을 뒤집는다.
(5) 연산 결과
algorithm 라이브러리의 reverse를 이용해서 문자열을 뒤집었다.
파이썬에 길들여져서 int로 string을 변환하니 아스키코드값이 나와 -48을 적용하였다.
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
string Add(string str1, string str2)
{
reverse(str1.begin(), str1.end());
reverse(str2.begin(), str2.end());
int maxLength = max(str1.size(), str2.size());
string answer = "";
int posNum = 0;
for (int i = 0; i < maxLength; i++) {
if (i < str1.size()) {
posNum += int(str1[i]-48);
}
if (i < str2.size()) {
posNum += int(str2[i]-48);
}
answer += to_string(posNum % 10);
if (posNum >= 10) {
posNum = 1;
}
else {
posNum = 0;
}
}
if (posNum!=0) {
answer += to_string(posNum);
}
reverse(answer.begin(), answer.end());
return answer;
}
그런데 char, str, int 형변환을 찾아보니 아래와 같이 정리할 수 있었다.
int → 문자열(char[])
int idec = 123456789; string temp = to_string(idec);
char[] → int
char cChar[10] = "123456789"; int result = stoi(cChar);
char → int
char Cchar = '1'; int result = Cchar - '0';
int to char
int로 변환 방법의 반대로 -'0' 했던 것을 +'0'
int idec = 1; char result = idec + '0'
'컴퓨터 공학, 전산학 > 알고리즘' 카테고리의 다른 글
[백준] 오르막길 파이썬, C++ (0) | 2024.02.02 |
---|---|
[알고리즘] 순열과 SWEA 최소 생산 비용 (1) | 2024.01.02 |
[분할정복, python] 색종이 만들기 (스택과 재귀함수로 풀어보기) (1) | 2023.12.23 |
[완전탐색, SWEA] 스도쿠 검증 (1) | 2023.12.22 |
[DFS, SWEA] 미로 (0) | 2023.12.22 |