hahn

단계별로 풀어보기(기본 수학1 - 큰 수 A+B) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(기본 수학1 - 큰 수 A+B)

hahn 2021. 8. 23. 23:43
728x90
반응형

10757번: 큰 수 A+B (acmicpc.net)

 

10757번: 큰 수 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        
        String a,b, result = "";
        
        a = sc.next();
        b = sc.next();
        
        int[] aArr, bArr, printArr;
        
        aArr = new int[a.length()];
        bArr = new int[b.length()];
        printArr = new int[a.length() > b.length() ? a.length() + 1 : b.length() + 1];
        
        for(int i = 0; i < a.length(); i++) {
        	
        	aArr[i] = Integer.parseInt(Character.toString(a.charAt(a.length() - i - 1)));
        	
        }
        
        for(int i = 0; i < b.length(); i++) {
        	
        	bArr[i] = Integer.parseInt(Character.toString(b.charAt(b.length() - i - 1)));
        	
        }
        
        if(a.length() > b.length()) {
        	
        	 for(int i = 0; i < a.length(); i++) {
        		 
        		 printArr[i] = aArr[i];
        		 
        	 }
        	 
        	 for(int i = 0; i < b.length(); i++) {
             	
             	printArr[i] += bArr[i];
             	
             }
        	
        }else {
        	
        	for(int i = 0; i < b.length(); i++) {
       		 
       		 printArr[i] = bArr[i];
       		 
       	 	}
        	
        	for(int i = 0; i < a.length(); i++) {
            	
            	printArr[i] += aArr[i];
            	
            }
        	
        }
        
        for(int i = 0; i < printArr.length; i++) {
        	
        	if(printArr[i] >= 10) {
        		printArr[i + 1] += 1;
        		printArr[i] -= 10;
        	}
        	
        }
        
        for(int i = 0; i < printArr.length; i++) {
        	if(i == 0) if(printArr[printArr.length - i - 1] == 0) continue;
        	result += printArr[printArr.length - i - 1];
        	
        }
        
        System.out.println(result);
        
    }
    
}

예제 입력 보고 매우 열이 받았던 문제

 

아 또 String으로 풀어야 하는구나...

 

그냥 진짜 로직 생각 안 하고

 

단순하게 풀었다.

 

근데 이거 푸는데도 한참 걸렸음

 

String 나오면 머리가 아프다

728x90
반응형