반응형

백준 15873번 공백 없는 A+B 풀이 코드

C | C++ | Java | Python


풀이

입력값이 1010일 때, a10일 때, 10b일 때, ab일 때로 경우의 수를 나누어 풀 수 있습니다.

코드

#include <stdio.h>

int main(){
    int a;
    int b = 0;
    scanf("%d", &a);
        
    if (a == 1010){     //1010
        printf("20");
    }
    else if (a % 10 == 0){   //a10
        a /= 100;
        printf("%d", 10 + a);
    }
    else{
        b += a % 10;
        a /= 10;
        if (a == 10){   //10b
            printf("%d", 10 + b);
        }
        else{           //ab
            printf("%d", a + b);
        }
    }
    return 0;
}
#include <iostream>
using namespace std;

int main(){
    int a;
    int b = 0;
    cin>>a;
        
    if (a == 1010){     //1010
        cout<<20;
    }
    else if (a % 10 == 0){   //a10
        a /= 100;
        cout<<10 + a;
    }
    else{
        b += a % 10;
        a /= 10;
        if (a == 10){   //10b
            cout<<10 + b;
        }
        else{           //ab
            cout<<a + b;
        }
    }
    return 0;
}
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int b = 0, a = sc.nextInt();
        
        if (a == 1010){         //1010
            System.out.println(20);
        }
        else if (a % 10 == 0){  //a10
            a /= 100;
            System.out.println(a+10);
        }
        else{
            b += a % 10;
            a /= 10;
            if (a == 10){       //10b
                System.out.println(10+b);
            }
            else{               //ab
                System.out.println(a+b);
            }
        }
    }
}
n = input()
if len(n) == 4:           #1010
    print(20)
elif len(n) == 2:         #ab
    print(int(n[0]) + int(n[1]))
else:
    if int(n[-1]) == 0:   #a10
        print(int(n[0]) + 10)
    else:                 #10b
        print(int(n[-1]) + 10)

문제 출처

https://www.acmicpc.net/problem/15873

반응형

+ Recent posts