문제 설명
유명한 먹방 BJ 5명이 짜장면을 제한 시간 내에 다 먹을 시에 짜장면 무료 혜택과 상금 150만 원을 받게 되는 중국집을 방문했습니다.
첫 번째 짜장면을 다 먹은 BJ는 다음 짜장면도 먹을 수 있고, 혜택과 상금도 동일하게 제공됩니다.
짜장면 세 그릇을 먹은 1명의 BJ만이 우승을 거머쥐었습니다.
짜장면을 한 그릇도 다 먹지 못한 BJ는 없습니다.
참가자 5명의 이름을 BJ 문자열 배열에, 한 그릇씩 먹은 참가자들의 이름을 one 문자열 배열에, 두 그릇씩 먹은 참가자들의 이름을 two 문자열 배열에 담아 주어집니다.
짜장면의 상금으로 수여된 총금액과 우승자의 이름을 출력하는 프로그램을 구현하세요.
출력 문자열 형식은 아래와 같이 하세요.
· 금액이 1350만 원이고, 우승자 이름이 주책맨일 때, "1350만원(주책맨)"
입력 형식
· BJ, one, two: 각 조건에 맞는 문자열 배열
출력 형식
· 총 상금과 우승자를 형식에 맞추어 문자열로 반환
입출력 예시
· 입력
· BJ = {"혁준", "하밥", "양상", "심심이", "소스왕"}
·one = {"혁준", "양상"}
·two = {"심심이", "소스왕"}
· 출력 : "1350만원(하밥)"
· 설명 : 하밥을 제외한 나머지 BJ들은 짜장면을 1개 또는 2개 먹었으므로, 하밥이 짜장면 3개를 먹었다. 총상금은 다 먹은 짜장면 9개에 대한 1350만원이 된다.
정답 코드
(0/20)
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
class Solution {
public String solution(String[] bj, String[] one, String[] two) {
int reward = 150;
int prize = (one.length * reward) + (two.length * reward * 2) + (reward * 3);
Set<String> set = new HashSet<>();
set.addAll(Arrays.asList(bj));
set.removeAll(Arrays.asList(one));
set.removeAll(Arrays.asList(two));
StringBuilder sb = new StringBuilder();
sb.append(prize);
sb.append("만원(");
sb.append((String)set.toArray()[0]);
sb.append(")");
return sb.toString();
}
public static void main(String[] args) {
Solution st = new Solution();
String[] bj = {"혁준", "하밥", "양상", "심심이", "소스왕"};
String[] one = {"혁준", "양상"};
String[] two = {"심심이", "소스왕"};
System.out.println(st.solution(bj, one, two));
}
}
'연습 코딩테스트' 카테고리의 다른 글
연습문제 1-4(2) 이진수 문자열 XOR 연산 (0) | 2023.04.03 |
---|---|
연습문제 1-4(1) ASCII Code 문자열 출력 (0) | 2023.04.03 |
연습문제 1-3(4) 문자열 계산식 (0) | 2023.04.01 |
연습문제 1-3(3) 중복 알파벳 소거하기 (0) | 2023.04.01 |
연습문제 1-3(2) 괄호 짝 판단하기 (0) | 2023.04.01 |