import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long[] num = new long[3];
long money = 0; long count = 0;
long same_num = 0; long max_num = 0;
num[0] = scan.nextLong();
num[1] = scan.nextLong();
num[2] = scan.nextLong();
for(int i=0 ; i < num.size() ; i++) {
for(int j = i+1 ; j < num.size(); j++) {
if(num[i] == num[j]) {
count++;
same_num = num[i];
}
}
}
System.out.println(same_num);
if(count == 3) {
money = 10000 + num[0] * 1000;
}else if(count == 2) {
money = 1000 + same_num * 100;
}else {
for( long in : num) {
if(in > max_num)
max_num = in;
}
money = max_num * 100;
}
System.out.println(money);
}
}
처음 구현하고자 했던 것
숫자 3개가 있을 때
1,2를 비교 / 1,3을 비교 / 2,3을 비교한 후
같을 때마다 count에 +1을 해주었다.
→ 이를 위해 이중루프 안의 j를 i+1의 값으로 설정했다.
i | j |
---|---|
1 | 2,3 |
2 | 3 |
3 | X |
→ 문제점 : 2 2 6
으로 들어올 때 count의 값이 1로 나오게 된다.
→ 해결 : 배열이 아니라 ArrayList로 구현하여 같은 숫자가 나올 경우 list안에서 같은 숫자를 다 뺀후 list의 길이에 따라서 판별한다.
input | num.size() |
---|---|
3 3 3 | 0 |
2 2 6 | 1 |
1 2 5 | 3 |
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList<Long> num = new ArrayList<Long>();
long money = 0;
long same_num = 0; long max_num = 0;
num.add(scan.nextLong());
num.add(scan.nextLong());
num.add(scan.nextLong());
for(int i=0 ; i < num.size() ; i++) {
for(int j = i+1 ; j < num.size(); j++) {
if((num.get(i) == num.get(j)) ) {
same_num = num.get(i);
}
}
}
while(num.remove(Long.valueOf(same_num))) {}
if(num.size() == 3) {
for( long in : num) {
if(in > max_num)
max_num = in;
}
money = max_num * 100;
}else if(num.size() == 1) {
money = 1000 + same_num * 100;
}else {
money = 10000 +same_num * 1000;
}
System.out.println(money);
}
}