새발블로그
[프로그래머스/C++] 주사위 게임 2 본문
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181930
풀이방법
문제 그대로 구현...해봤는데 다른 사람의 풀이가 괜찮아서 적음
풀이1
문제 그대로~~~
풀이2
1. set을 이용해서 중복값을 제거하였다.
set.size() ==3 : 세 수가 모두 다름
set.size() ==2 : 두 수 가 같음
set.size() ==3 : 세 수가 같음
set헤더를 적어야함
#include <set>
2.
#include <math.h> 를 사용해서 제곱수를 계산함
pow(숫자,2) : 제곱 수
pow(숫자,3) : 세 제곱 수
풀이1
#include <string>
#include <vector>
using namespace std;
int solution(int a, int b, int c)
{
int answer = 0;
if (a!=b & b!=c & c!=a)
{
answer = (a + b + c);
}
else if ((a==b & b!=c )|| (b==c & c!=a) || (a==c & b!=c))
{
answer = (a + b + c) * (a*a + b*b + c*c);
}
else
{
answer = (a + b + c) * (a*a + b*b + c*c) * (a*a*a + b*b*b + c*c*c);
}
return answer;
}
풀이2 (다른 사람풀이)
#include <string>
#include <vector>
#include <math.h>
#include <set>
using namespace std;
int solution(int a, int b, int c)
{
set<int> s{a, b, c};
if(s.size() == 3)
return a + b + c;
if(s.size() == 2)
return (a + b + c) * (pow(a, 2) + pow(b, 2) + pow(c, 2));
if(s.size() == 1)
return (a + b + c) * (pow(a, 2) + pow(b, 2) + pow(c,2)) * (pow(a, 3) + pow(b, 3) + pow(c, 3));
}
'Problem Solving > Programmers' 카테고리의 다른 글
| [프로그래머스/C++] 수 조작하기2 (0) | 2024.03.07 |
|---|---|
| [프로그래머스/C++] 수 조작하기 1 (0) | 2024.03.06 |
| [프로그래머스/C++] 두 수의 연산값 비교하기 (0) | 2024.03.04 |
| [프로그래머스/C++] 문자열 돌리기 (0) | 2024.03.04 |
| [프로그래머스/C++] 대소문자 바꿔서 출력하기 (0) | 2024.03.04 |