백준 15353 큰수 A+B (2)알고리즘/백준2023. 3. 18. 20:59
Table of Contents
https://www.acmicpc.net/problem/15353
후기 및 분석
일단 문제를 보고 int는 당연히 안되고 long long도 안되기 때문에 Big Int나 string을 써야한다고 판단하였습니다.
하지만 BigInt는 써본적이 없어서 일단 string으로 구현을 하였습니다.
(참고로 해당문제 예시입력이 long long 64번째 비트를 켰을 때 값인거 같았습니다. 그래서 long long안된다 판단했습니다.)
string일 경우 어떻게 수를 맞추어서 더할지가 조금 막막했는데
A가 B보다 더 길경우 B의 문자열 길이를 A에 맞추어서 더하는 식의 로직을 생각을 했습니다.
길이를 맞춘다 함은 A가 "99999"이고 B가 "99"일경우 B를 "00099"로 맞추어서 더하는 것입니다.
둘중 가장긴 문자열 길이만큼 반복을 하기때문에 가장 앞자리 수를 더할 때 10을 넘길 수 있기 때문에 up이라는 변수를 두어서 반복문이 끝나고도 up이 1이라면은 stack에다가 push를 해주었습니다.
또한 up은 무조건 0또는 1입니다. 한자리수 + 한자리수는 무조건 0~18사이 이니까용.
제가 짠 코드는 아래와 같고
http://boj.kr/d611d33077984629a0a998b006359822
다시 생각한 부분은
http://boj.kr/b7da2c6f3dfa4783947f1d632929079d 이와 같습니다.
'알고리즘 > 백준' 카테고리의 다른 글
백준 25206 너의 평점은 (0) | 2023.04.11 |
---|---|
백준 10811 바구니 뒤집기 (0) | 2023.03.24 |
백준 3015 오아시스 (0) | 2023.03.22 |
백준 15926 현욱은 괄호왕이야! (0) | 2023.03.21 |
백준 5430 AC (2) | 2023.03.16 |
@CGNY :: 김놀자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!