작성
·
290
0
안녕하세요. 선생님! 좋은 강의 열심히 듣고 있습니다.
4-O 질문이 있는데요(백준 15353 큰수 A+B(2) , https://www.acmicpc.net/problem/15353). 실수 A,B의 범위가 10의 10000승까지인데, 선생님처럼 문자열의 문자 하나씩 정수로 바꿔서 처리한다면 시간복잡도가 10의 10000승 아닌가요..? 이 문제를 선생님처럼 풀기전에 시간초과에 걸린다고 생각했습니다...
감사합니다!
답변 1
0
안녕하세요 상목님 ㅎㅎ
선생님처럼 문자열의 문자 하나씩 정수로 바꿔서 처리한다면 시간복잡도가 10의 10000승 아닌가요..?
자 문제를 볼까요?
최대범위가 10^10000 이죠?
그러면 최대 자릿수는 1만자리겠네요. 저 while문은 최대자릿수만큼 반복되지 않을까요?
string string_add(string a, string b) {
int sum = 0;
string ret;
while(a.size() || b.size() || sum){
따라서 최대 시간복잡도는 1만이 되서 무난히 풀 수 있습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.