일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기술블로그
- c
- 알고리즘
- Django
- 한이음
- 코테
- 코딩테스트
- 자바
- jwt
- kafkaconsumer
- git
- 선택정렬
- AWS
- 문자열함수
- java
- SpringSecurity
- 기록
- 시스템프로그래밍
- IT
- testcode
- 문자열압축
- 협업도구
- kafka
- github
- 자료구조
- 공부기록
- 회고록
- 백준
- codingtest
- 트러블슈팅
Archives
- Today
- Total
신뇽이 되어보자
[프로그래머스] 주사위 게임 3 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181916#
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
하드 코딩하다가 이건 좀 아닌 것 같아서 찾아보니
Arrays.sort ㄷㄷ....
훨씬 편해졌다.
코드를 짜는데 정답률이 87.5%되길래 왜인가 봤더니
두개만 같은 값이 나왔을 경우에
dice[1]과 dice[2]가 같을 경우를 고려하지 않아서 틀렸었던 것.
import java.util.*;
class Solution {
public int solution(int a, int b, int c, int d) {
int answer = 0;
int []dice = {a,b,c,d};
Arrays.sort(dice);
//오름차순 정렬을 했을 때 첫번 째 수와 마지막 수가 같다면 4가지 수가 다 같은 수가 나왔다는 의미
if(dice[0] == dice[3]){
//세개의 수가 같고 하나의 수가 같지 않다는 의미
answer = 1111 * dice[0];
}else if(dice[0]== dice[2]){
answer = ((10 * dice[0] + dice[3]) * (10 * dice[0] + dice[3]));
}
else if(dice[1] == dice[3]){
answer = ((10 * dice[1] + dice[0]) * (10 * dice[1] + dice[0]));
}
else if(dice[0] == dice[1] && dice[2] == dice[3]){
answer = (dice[0] + dice[2]) * (dice[3] - dice[0]);
}else if(dice[0] == dice[1] && dice[2] !=dice[3]){
answer = dice[2] * dice[3];
}else if(dice[1] == dice[2]){
answer = dice[0] * dice[3];
}
else if(dice[2] == dice[3] && dice[0] !=dice[1]){
answer = dice[0] * dice[1];
}else if(dice[0]!= dice[1] && dice[1] != dice[2] && dice[2]!= dice[3]){
answer = dice[0];
}
return answer;
}
}
728x90
'CodingTest' 카테고리의 다른 글
[프로그래머스] 단어 변환(bfs) (1) | 2025.02.27 |
---|---|
[프로그래머스] 게임 맵 최단 거리 구하기 (bfs) (0) | 2025.02.26 |
[프로그래머스] 배열 조작하기(Arrays.copyOfRange) (1) | 2025.02.24 |
[프로그래머스] 소수 찾기 (dfs) (0) | 2025.02.24 |
[프로그래머스] 전력망을 둘로 나누기 (양방향 그래프, dfs) (1) | 2025.02.23 |