> 개발-IT-인터넷/> JAVA

[해커랭크(HackerRank) JAVA 풀이] - Java Varargs - Simple Addition

jini:) 2023. 11. 6. 14:09
728x90
반응형
해커랭크 - https://www.hackerrank.com/
Prepare > Java > Advanced > Java Varargs - Simple Addition
 

HackerRank

HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

www.hackerrank.com

 

 

편집기에 Solution 클래스와 해당 기본 메서드가 제공됩니다.
당신의 임무는 코드가 add 함수에 전달된 숫자의 합을 인쇄하도록 클래스 Add와 필수 메소드를 생성하는 것입니다.

Note : Add 클래스의 add 메서드는 샘플 출력에 제공된 합계를 출력해야 합니다.

 

Input Format

각각 정수를 포함하는 6개의 입력 라인이 있습니다.

 

Output Format

4줄만 출력됩니다. 각 줄에는 기본 메서드에 추가할 매개 변수로 전달된 정수의 합계가 포함됩니다.

 

Sample Input

1
2
3
4
5
6

 

Sample Output

1+2=3
1+2+3=6
1+2+3+4+5=15
1+2+3+4+5+6=21

 

반응형

 

Code

import java.io.*;
import java.lang.reflect.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

//Write your code here
class Add {
    void add(int... nums) {
        int sum = 0;
        for(int i = 0; i < nums.length; i++) {
            if( i!=0 ) System.out.print( "+" );
            System.out.print( nums[i] );
            sum += nums[i];
        }
        System.out.println( "=" + sum );
    }
}

public class Solution {
    public static void main(String[] args) {
       try{
			BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
			int n1=Integer.parseInt(br.readLine());
			int n2=Integer.parseInt(br.readLine());
			int n3=Integer.parseInt(br.readLine());
			int n4=Integer.parseInt(br.readLine());
			int n5=Integer.parseInt(br.readLine());
			int n6=Integer.parseInt(br.readLine());
			Add ob=new Add();
			ob.add(n1,n2);
			ob.add(n1,n2,n3);
			ob.add(n1,n2,n3,n4,n5);	
			ob.add(n1,n2,n3,n4,n5,n6);
			Method[] methods=Add.class.getDeclaredMethods();
			Set<String> set=new HashSet<>();
			boolean overload=false;
            
			for(int i=0;i<methods.length;i++)
			{
				if(set.contains(methods[i].getName()))
				{
					overload=true;
					break;
				}
				set.add(methods[i].getName());
				
			}
            
			if(overload)
			{
				throw new Exception("Overloading not allowed");
			}
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

 

 

 

개인 공부를 위한 포스팅입니다.
모든 번역, 코드는 완벽하지 않을 수 있습니다.

 

 

 

728x90
반응형