문제
프로그래머스 코딩테스트 연습 - 두 정수 사이의 합(Level 1)
https://programmers.co.kr/learn/courses/30/lessons/12912
사용 알고리즘
- Math
풀이
합 구하는 공식 사용하면 한줄컷
나의 코드
#include <string>
#include <vector>
using namespace std;
long long solution(int a, int b) {
return (long long) (a+b)*(abs(a-b)+1)/2;
}
남의 코드(좋아요 최다 코드)
#include <string>
#include <vector>
using namespace std;
long long solution(int a, int b) {
long long answer = 0;
if (a > b) a ^= b ^= a ^= b;
answer = (long long)b * -~b / 2 - (long long)a * ~-a / 2;
return answer;
}
728x90
'PS > Programmers' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 소수 만들기(Level 1) (0) | 2021.07.20 |
---|---|
프로그래머스 코딩테스트 연습 - 약수의 개수와 덧셈(Level 1) (0) | 2021.07.12 |
프로그래머스 코딩테스트 연습 - 서울에서 김서방 찾기 (Level 1) (0) | 2021.06.29 |
프로그래머스 코딩테스트 연습 - 같은 숫자는 싫어 (Level 1) (0) | 2021.06.26 |
프로그래머스 코딩테스트 연습 - 제일 작은 수 제거하기 (Level 1) (0) | 2021.06.25 |