본문 바로가기
IT/Algorithm

프로그래머스(Programmers) 두 정수 사이의 합(java)

by flatsun 2019. 8. 15.
반응형

프로그래머스(Programmers)

문제명 : 두 정수 사이의 합

언어 : 자바(java)

 

두 정수를 받아 a와 b중 큰 숫자와 작은 숫자로 분류한 뒤

작은 숫자에서 큰 숫자가 될 때까지 더해주면 되는데

값이 동일할 경우에는 a와 b중 아무 값이나 반환하면 된다

 

포인트는 a와 b중 큰 숫자를 찾아내고

큰 숫자에 맞춰서 작은 숫자를 큰 숫자가 될때까지 더해주면서

그 값을 반환하면 된다는 거다

 

내가 푼 방법은 다음과 같은데

 

 

일단 bigNum이라는 long 타입의 변수를 만들어

여기에 받은 int a와 b 중에서 더 큰 값을 받아주고

작은 값으로는 for문을 돌려서 answer에 계속 더해준다

 

반면 a와 b가 같을 경우에는 a와 b 중에 하나를 answer로 넣어 반환시킨다

 

마지막으로 프로그래머스 문제에 복사 붙여넣기를 하면 되는 답안은 아래와 같다

class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      long bigNum = 0;

      if( a > b ) { // a가 b보다 클 경우
          bigNum = a;
          for(int i = b; i<=bigNum; i++ ) {
              answer = answer + i;
          }
      } else if( a < b ) { //a가 b보다 작을경우
          bigNum = b;
          for(int i = a; i<=bigNum; i++ ) {
              answer = answer + i;
          }			  
      }	else if( a == b ) { // a와 b가 같을 경우
          answer = a;
      }

      return answer;
  }
}
반응형

댓글