#include <string>
#include <vector>
using namespace std;
int solution(int a, int b, int c) {
// 세개의 숫자가
// 모두 다르면 a+b+c
// 두개는 같고 하나 다르면 (a + b + c) × (a^2 + b^2 + c^2)
// 모두 같으면 (a + b + c) × (a^2 + b^2 + c^2 ) × (a^3 + b^3 + c^3 )
bool ab = (a == b ? true : false);
bool bc = (c == b ? true : false);
bool ca = (a == c ? true : false);
if(ab * bc * ca)
return (a + b + c) * (a*a + b*b + c*c ) * (a*a*a + b*b*b + c*c*c );
else if(!ab && !bc && !ca)
return a+b+c;
else
return (a + b + c) * (a*a + b*b + c*c);
}
*여기서 set의 개념을 적용하면 코드가 간결해짐
* set은 항목의 중복내용을 삭제하기 때문
#include <string>
#include <vector>
#include <set>
using namespace std;
int solution(int a, int b, int c) {
// 세개의 숫자가
// 모두 다르면 a+b+c
// 두개는 같고 하나 다르면 (a + b + c) × (a^2 + b^2 + c^2)
// 모두 같으면 (a + b + c) × (a^2 + b^2 + c^2 ) × (a^3 + b^3 + c^3 )
set<int> abc = {a,b,c};
if(abc.size()==3)
return a+b+c;
else if(abc.size()==2)
return (a + b + c) * (a*a + b*b + c*c);
else if(abc.size()==1)
return (a + b + c) * (a*a + b*b + c*c ) * (a*a*a + b*b*b + c*c*c );
}
'C++' 카테고리의 다른 글
[프로그래머스] 이어 붙인 수 (0) | 2025.08.28 |
---|---|
[프로그래머스] 원소들의 곱과 합 (1) | 2025.08.28 |
[프로그래머스] 등차수열의 특정한 항만 더하기 (3) | 2025.08.28 |
[프로그래머스] 코드 처리하기 (0) | 2025.08.28 |
[프로그래머스] flag에 따라 다른 값 반환하기 (0) | 2025.08.28 |
댓글