https://www.acmicpc.net/problem/2979
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int A = Integer.parseInt(st.nextToken()); // 1๋ ์๊ธ
int B = Integer.parseInt(st.nextToken()); // 2๋ ์๊ธ
int C = Integer.parseInt(st.nextToken()); // 3๋ ์๊ธ
int first = 101; // ๊ฐ์ฅ ๋จผ์ ์ฃผ์ฐจ์ฅ์ ๋์ฐฉํ ํธ๋ญ์ ์๊ฐ
int last = 0; // ๊ฐ์ฅ ๋ฆ๊ฒ ์ฃผ์ฐจ์ฅ์ ๋์ฐฉํ ํธ๋ญ์ ์๊ฐ
int[][] truck = new int[3][2];
int[] arr = new int[100];
int fee = 0;
/* ์
๋ ฅ๋ฐ๊ธฐ */
for(int i=0; i<3; i++) {
st = new StringTokenizer(bf.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
truck[i][0] = start;
truck[i][1] = end;
// ํด๋น ์๊ฐ์ ๋ค์ด์จ ํธ๋ญ ์ฒดํฌ
for(int j=start; j<end; j++) {
arr[j] ++;
}
}
/* ๊ฐ์ฅ ๋จผ์ , ๊ฐ์ฅ ๋ฆ๊ฒ ๋๊ฐ ํธ๋ญ์ ์๊ฐ ์ฐพ๊ธฐ */
for(int i=0; i<3; i++) {
for(int j=0; j<2; j++) {
if(truck[i][j] < first) first = truck[i][j];
if(truck[i][j] > last) last = truck[i][j];
}
}
/* ์ฃผ์ฐจ ์๊ธ๊ตฌํ๊ธฐ ํด๋น ์๊ฐ์ ์ฃผ์ฐจ ํธ๋ญ์ด 1๋๋ฉด ๋๋น A์, 2๋๋ฉด ๋๋น B์, 3๋๋ช
๋๋น C์ */
for(int i=first; i<last; i++) {
fee += (arr[i] == 1) ? arr[i] * A : 0;
fee += (arr[i] == 2) ? arr[i] * B : 0;
fee += (arr[i] == 3) ? arr[i] * C : 0;
}
System.out.println(fee);
bf.close();
}
}
ํ์ด
๊ตฌํ, ์๋ฎฌ๋ ์ด์ ๋ฌธ์ -> ์ฃผ์ด์ง ๋ฌธ์ ์ ์กฐ๊ฑด ๊ทธ๋๋ก ํ๋ฆ๋๋ก ๋ฐ๋ผ๊ฐ์ ์์ฑํ๋ฉด ๋๋๋ฐ..
์ด๋ป๊ฒ ๊ตฌํํด์ผํ ์ง ์ฝ๊ฐ ์๊ฐ์ด ํ์ํ๋ค...
ํด๊ฒฐ๋ฐฉ๋ฒ์, ํธ๋ญ 3๋ ๋น ์ฃผ์ฐจ์ฅ์ ๋จธ๋ฌด๋ฅธ ์๊ฐ์ ๋ชจ๋ ์ฒดํฌํด์, ๊ทธ ๋จธ๋ฌด๋ฅธ ์ฐจ๋์ ๋์๋งํผ ์๊ธ์ ์ถ๋ ฅํ๋ค.
* ์๊ฐ์ 1๊ณผ 100 ์ฌ์ด์ด๋ฏ๋ก ์ ๋นํ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ 101์ผ๋ก ์ค์ ํ๋ค.(๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก.)
์ ๊ทธ๋ฆผ์, ๋ฌธ์ ์ ์ ๋ ฅ์ ๋ํ๋ธ ์์์ด๋ค.
๊ฐ ํธ๋ญ๋ง๋ค ๋ค์ด์ค๋ ์๊ฐ ~ ๋๊ฐ๋ ์๊ฐ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ์ฒดํฌํ๋ฉฐ ์ฆ๊ฐ์ํจ๋ค.
์ ์ฌ์ง์์ ์ง๋ถํด์ผํ ์ฃผ์ฐจ ์๊ธ์.
1์ ~ 2์ : ์ฐจ๋ 1๋ = 5 * 1
2์ ~ 3์ : ์ฐจ๋ 2๋ = 3 * 2
3์ ~ 4์ : ์ฐจ๋ 3๋ = 3 * 1
4์ ~ 5์ : ์ฐจ๋ 3๋ = 3 * 1
5์ ~ 6์ : ์ฐจ๋ 2๋ = 3 * 2
6์ ~ 7์ : ์ฐจ๋ 1๋ = 5 * 1
7์ ~ 8์ : ์ฐจ๋ 1๋ = 5 * 1
๋ค ๋ํ๋ฉด 5 + 6 + 3 + 3 + 6 + 5 + 5 = 33์ ์ด ๋๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Codeforces] 721A: One-dimensional Japanese Crossword (0) | 2020.03.13 |
---|---|
[๋ฐฑ์ค] 1057๋ฒ: ํ ๋๋จผํธ(๊ตฌํ, ์ํ) (0) | 2020.03.12 |
[๋ฐฑ์ค] 1911๋ฒ: ํ๊ธธ ๋ณด์ํ๊ธฐ(๊ทธ๋ฆฌ๋) (1) | 2020.03.12 |
[Codeforces] 1311A: Add Odd or Subtract Even (0) | 2020.03.12 |
[Codeforces] 1003A: Polycarp's Pockets (0) | 2020.03.11 |
๋๊ธ