CodingTest/Java
BOJ_28470 : ์ฅ~๋นก! ๋นก~์ฅ!
Soom_1n
2024. 11. 26. 11:15


๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๊ณต๊ฒฉ์ ๋จผ์ ํ์ ๋์ ํํผ๋ฅผ ๋จผ์ ํ์ ๋ ์ค์์ ์๋๋ ๋ ๋ฆฐ์ ์ต๋๊ฐ์ ์ฐพ๋๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- Ki๊ฐ 1๋ณด๋ค ํฌ๋ฉด Ai์ ๊ณฑํ๊ณ , 1์ดํ๋ฉด Bi์ ๊ณฑํ๋ฉด ์ต๋๊ฐ์ ๊ตฌํ ์ ์๋ค.
- Ki๊ฐ ์์์ ์๋ ์ฒซ์งธ ์๋ฆฌ๊น์ง ์ฃผ์ด์ง๋๋ฐ, ์์ซ์ ๊ณ์ฐ์ ์ ์ํด์ผ ํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
StringTokenizer st1 = new StringTokenizer(br.readLine());
StringTokenizer st2 = new StringTokenizer(br.readLine());
StringTokenizer st3 = new StringTokenizer(br.readLine());
long sum = 0;
for (int i = 0; i < N; i++) {
int A = Integer.parseInt(st1.nextToken());
int B = Integer.parseInt(st2.nextToken());
float K = Float.parseFloat(st3.nextToken());
if (K > 1) {
sum += (int) (A * (K * 10) / 10) - B;
} else {
sum += A - (int) (B * (K * 10) / 10);
}
}
bw.write(Long.toString(sum));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- Ki์ ์์์ ์๋ ์ฒซ์งธ ์๋ฆฌ๋ฅผ ์ ํํ๊ฒ ๊ณ์ฐํ๊ธฐ ์ํด, 10์ ๊ณฑํ ํ 10์ ๋๋ ์ฃผ๋ ์์ ์ด ํ์ํ๋ค.
- Ai * Ki ํน์ Bi * Ki์ ๋ด๋ฆผ์ (int) ํ ๋ณํ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
๐ธ end ๐ธ
- ์ค๋ต๋ฅ ์ด ๋๊ธธ๋ ์๊ทธ๋ฐ๊ฐ ํ๋๋ ๋ถ๋์์์ ์ ์ค์ฐจ๋ฅผ ๊น๊นํ ๋ณด๋ ๋ฌธ์ ์๋ค.
- doubleํ์ผ๋ก ๊ณฑ์ ์ดํ ๋ด๋ฆผ์ ์ํํ๋๋ผ๋ ์ค์ฐจ๊ฐ ์๊ธฐ๋ฏ๋ก, ๊ผญ 10์ ๊ณฑํ๊ณ 10์ ๋๋๋ ์์ ์ ํตํด ์์์ ์๋ ์ฒซ์งธ ์๋ฆฌ๋ฅผ ์ ํํ ๊ณ์ฐํ๋๊ฒ ์ค์ํ๋ค.

728x90