주사위 게임 2
1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다.
세 숫자가 모두 다르다면 a + b + c 점을 얻습니다.
세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다.
세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다.
세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.
제한사항
a, b, c는 1이상 6이하의 정수입니다.
입출력 예
a | b | c | result |
2 | 6 | 1 | 9 |
5 | 3 | 3 | 473 |
4 | 4 | 4 | 110592 |
풀이
using System;
public class Solution
{
public 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 && a == c)
{
answer = (a + b + c) * (a * a + b * b + c * c) * (a * a * a + b * b * b + c * c * c);
}
else
{
answer = (a + b + c) * (a * a + b * b + c * c);
}
return answer;
}
}
간단한게 if문을 활용하여 조건을 넣어 계산한 값을 출력하면 끝나는 쉬운문제
원소들의 곱과 합
정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
제한사
2 ≤ num_list의 길이 ≤ 10
1 ≤ num_list의 원소 ≤ 9
입출력 예
num_list | result |
[3, 4, 5, 3, 2, 1] | 1 |
[5, 7, 8, 3] | 0 |
풀이
using System;
public class Solution {
public int solution(int[] num_list) {
int answer = 0;
int x = 1;
int y = 0;
for(int i = 0; i < num_list.Length; i++){
x *= num_list[i];
y += num_list[i];
}
return answer = (x < y * y) ? 1 : 0;
}
}
반복문을 활용하여 num_list의 길이만큼 반복을 하여 x에는 원소들의 곱을 y에는 원소들의 합의 제곱을 저장하여
조건문을 통해 참이면 1 거짓이면 0을 출력한다
'내일배움캠프 > C# 문제' 카테고리의 다른 글
Programmers 코딩테스트 (0) | 2025.02.21 |
---|---|
배열 내림차순 정리 (0) | 2025.02.10 |
Programmers 문제 (특정 문자 제거하기, 문자열의 뒤의 n글자) (0) | 2025.02.06 |
C# 문제 (간단한 콘솔 게임 만들기) (0) | 2025.01.31 |
C# 문제 (변수와 자료형, 연산자와 문자열 처리) (0) | 2025.01.27 |