-
프로그래머스 - 두 정수 사이의 합알고리즘 2022. 6. 11.반응형
내 풀이
package algorithm_Lv01; public class P_27 { public long solution(int a, int b) { long answer = a; int c = 0; if(a == b) { return a; } else { if(a > b) { c = a; // 큰수 a = b; // a가 작은수 b = c; // b에 큰수 answer = a; } } for(int i=a; i<b; i++) { answer += i+1; } return answer; } public static void main(String[] args) { // 두 정수 사이의 합 P_27 p = new P_27(); int a = 5; int b = 3; System.out.println(p.solution(a, b)); } }
a가 작은수 일경우는 간단하지만
a가 더 큰 수 일 경우 a와 b의 값 치환을 했다.
Math 함수의 min(), max() 함수를 이용한다면 더 간단하게 표현이 가능하다.
다른 사람 풀이
class Solution { public long solution(int a, int b) { return sumAtoB(Math.min(a, b), Math.max(b, a)); } private long sumAtoB(long a, long b) { return (b - a + 1) * (a + b) / 2; } }
등차수열의 합을 이용한 풀이 방식
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=junhyuk7272&logNo=221247061276
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 같은 숫자는 싫어 (0) 2022.06.14 프로그래머스 - 나누어 떨어지는 숫자 배열 (0) 2022.06.13 프로그래머스 - 문자열 내 p와 y의 개수 (0) 2022.06.09 프로그래머스 - 문자열 내 마음대로 정렬하기 (0) 2022.06.09 프로그래머스 - 문자열 내림차순으로 배치하기 (0) 2022.06.08