본문 바로가기
알고리즘/Programmers

[Programmers] 두 정수 사이의 합

by 소꿍 2020. 10. 3.

programmers.co.kr/learn/courses/30/lessons/12912

 

코딩테스트 연습 - 두 정수 사이의 합

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우

programmers.co.kr

 

Java

 

처음에 쓴 코드.. if ~ else if를 없애고 싶었는데 어떻게 해야할지 생각이 잘 안 났다ㅠ

public class Solution {
	public long solution(int a, int b) {
	long answer = 0;
		if(a == b) return a;
		else if(a > b) {
			for(int i = b; i <= a; ++i) {
				answer += i;
			}
		} else {
			for(int i = a; i <= b; ++i) {
				answer += i;
			}
		}
		return answer;
    }
}


다른 분 코드 보고 수정한 코드

삼항연산자를 써서 if~ else if를 없앴다.

public class Solution {
	public long solution(int a, int b) {
		long answer = 0;
		for(int i = ((a > b) ? b : a); i <= ((a > b) ? a : b); ++i) {
			answer += i;
		}
		return answer;
	}
}

댓글