티스토리 뷰
문제출처
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
입출력 예
소스코드
import java.util.*;
class Solution {
public int solution(int a, int b, int c, int d) {
int dice[] = {a,b,c,d};
Arrays.sort(dice);
int ans = 0;
if(dice[0] == dice[3]){
ans = 1111 * dice[0];
}else if(dice[0] == dice[2] || dice[1] == dice[3]){
ans = (int)Math.pow(10 * dice[2] + (dice[0]+dice[3]-dice[3]),2);
}else if(dice[0] == dice[1] && dice[2] == dice[3]){
ans = (dice[0] + dice[2]) * (dice[3]-dice[0]);
}else if(dice[0] == dice[1]){
ans = dice[2] * dice[3];
}else if(dice[1] == dice[2]){
ans = dice[0] * dice[3];
}else if(dice[2] == dice[3]){
ans = dice[0] * dice[1];
}else{
ans = dice[0];
}
return ans;
}
}
풀이
주사위를 굴러 나온 숫자 a,b,c,d를 Arrays.sort 메서드를 이용해 정렬하여 풀어봤다.
세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q라면 [ p, p, p, q ] || [ q, p, p, p ] 2가지 경우의 수가 존재한다. 다른 주사위에서 나온 숫자를 구할려면 서로 다른 첫번째 idx, 마지막 idx의 합에서 두가지 경우의 수가 다 들어맞는 두번째 idx를 빼주면된다.
'Java > 프로그래머스 코테' 카테고리의 다른 글
[Java] 프로그래머스 9로 나눈 나머지 (0) | 2024.02.13 |
---|---|
[Java] 프로그래머스 글자 이어 붙여 문자열 만들기 (0) | 2024.02.08 |
[Java] 프로그래머스 마지막 두 원소 (0) | 2024.01.29 |
[Java] 프로그래머스 간단한 논리연산 (1) | 2024.01.27 |
[Java] 프로그래머스 배열 만들기4 (0) | 2024.01.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SQL 개발자
- 자료구조
- SQLD
- startsWith()
- 운영체제 특징
- 운영체제 유형
- 블록스코프
- 네트워크
- 운영체제
- 자료처리시스템
- 대소문자 변환
- fsd 구조
- 프로그래머스
- fsd 아키텍처
- 호이스팅
- 컴퓨터 시스템 구성요소
- 중첩스코프
- StringBuilder
- 범용리스트
- 네트워크 접속장치
- 온라인처리
- replaceAll
- 엑셀 파일 추출
- Replace
- 콜백 큐
- 접속형태
- Java
- 구성형태
- useeffet
- 스코프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함