๐ ๋ฌธ์ ์ค๋ช
์๋น๋ฅผ ํผํด ์ผ๊ณฑ ๋์์ด๋ค๊ณผ ํจ๊ป ํํ๋กญ๊ฒ ์ํํ๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ์๊ฒ ์๊ธฐ๊ฐ ์ฐพ์์๋ค. ์ผ๊ณผ๋ฅผ ๋ง์น๊ณ ๋์์จ ๋์์ด๊ฐ ์ผ๊ณฑ ๋ช ์ด ์๋ ์ํ ๋ช ์ด์๋ ๊ฒ์ด๋ค.
์ํ ๋ช ์ ๋์์ด๋ ๋ชจ๋ ์์ ์ด "๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด"์ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ฐ์ด๋ ์ํ์ ์ง๊ด๋ ฅ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ๋, ๋คํ์ค๋ฝ๊ฒ๋ ์ผ๊ณฑ ๋์์ด์ ํค์ ํฉ์ด 100์ด ๋จ์ ๊ธฐ์ตํด ๋๋ค.
์ํ ๋์์ด์ ํค๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐฑ์ค๊ณต์ฃผ๋ฅผ ๋์ ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โจ ์ ๋ ฅ
์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ๋์์ด๋ค์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค.
๐ป ์ถ๋ ฅ
์ผ๊ณฑ ๋์์ด์ ํค๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ค. ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
๐ ๋ฌธ์ ํ์ด
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> height = new ArrayList<>();
int sum = 0;
for (int i = 0; i < 9; i++) {
height.add(Integer.parseInt(br.readLine()));
}
for (int i: height) {
sum += i;
}
out : for (int i : height) {
for (int j : height) {
if (i == j) {
continue;
}
if ((sum - i) - j == 100) {
height.remove(Integer.valueOf(i));
height.remove(Integer.valueOf(j));
break out;
}
}
}
Collections.sort(height);
for (Integer i : height) {
System.out.println(i);
}
}
}
๐ ๋ฌธ์ ํ๋ฉฐ ๊ณต๋ถํ ์
1. BufferedReader์ฐ๋ฉด ๊ผญ IOException ์ค์ ํ๊ธฐ !!!
2. ํฉ๊ณ ๊ตฌํ๊ธฐ : import java.util.Arrays; ํ Arrays.stream(๋ฐฐ์ด).sum();
3. ArrayList ํน์ ์์ ์ญ์ ํ๊ธฐ
- ์ธ๋ฑ์ค๋ก ์ญ์ list.remove(i)
- ๊ฐ(์ ์)์ผ๋ก ์ญ์ list.remove(Integer.valueOf(i))
4. ์ค๋ฆ์ฐจ์ ์ ๋ ฌ : Collections.sort(list);
'๐ algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ ๋ฌธ์ ์ค๋ช
์๋น๋ฅผ ํผํด ์ผ๊ณฑ ๋์์ด๋ค๊ณผ ํจ๊ป ํํ๋กญ๊ฒ ์ํํ๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ์๊ฒ ์๊ธฐ๊ฐ ์ฐพ์์๋ค. ์ผ๊ณผ๋ฅผ ๋ง์น๊ณ ๋์์จ ๋์์ด๊ฐ ์ผ๊ณฑ ๋ช ์ด ์๋ ์ํ ๋ช ์ด์๋ ๊ฒ์ด๋ค.
์ํ ๋ช ์ ๋์์ด๋ ๋ชจ๋ ์์ ์ด "๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด"์ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ฐ์ด๋ ์ํ์ ์ง๊ด๋ ฅ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ๋, ๋คํ์ค๋ฝ๊ฒ๋ ์ผ๊ณฑ ๋์์ด์ ํค์ ํฉ์ด 100์ด ๋จ์ ๊ธฐ์ตํด ๋๋ค.
์ํ ๋์์ด์ ํค๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐฑ์ค๊ณต์ฃผ๋ฅผ ๋์ ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โจ ์ ๋ ฅ
์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ๋์์ด๋ค์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค.
๐ป ์ถ๋ ฅ
์ผ๊ณฑ ๋์์ด์ ํค๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ค. ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
๐ ๋ฌธ์ ํ์ด
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> height = new ArrayList<>();
int sum = 0;
for (int i = 0; i < 9; i++) {
height.add(Integer.parseInt(br.readLine()));
}
for (int i: height) {
sum += i;
}
out : for (int i : height) {
for (int j : height) {
if (i == j) {
continue;
}
if ((sum - i) - j == 100) {
height.remove(Integer.valueOf(i));
height.remove(Integer.valueOf(j));
break out;
}
}
}
Collections.sort(height);
for (Integer i : height) {
System.out.println(i);
}
}
}
๐ ๋ฌธ์ ํ๋ฉฐ ๊ณต๋ถํ ์
1. BufferedReader์ฐ๋ฉด ๊ผญ IOException ์ค์ ํ๊ธฐ !!!
2. ํฉ๊ณ ๊ตฌํ๊ธฐ : import java.util.Arrays; ํ Arrays.stream(๋ฐฐ์ด).sum();
3. ArrayList ํน์ ์์ ์ญ์ ํ๊ธฐ
- ์ธ๋ฑ์ค๋ก ์ญ์ list.remove(i)
- ๊ฐ(์ ์)์ผ๋ก ์ญ์ list.remove(Integer.valueOf(i))
4. ์ค๋ฆ์ฐจ์ ์ ๋ ฌ : Collections.sort(list);