๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/3060)
< ์์ฌ์์ด ๋ผ์ง >
๋ฌธ์ ํ์ด

์ฒซ ๋ ์๋ 1+2+3+4+5+6 ๋งํผ ์ฌ๋ฃ๊ฐ ํ์ํ๋ค.
๋ค์๋ ์ (1+4+6+2) + (2+5+1+3) + (3+6+2+4) + (4+1+3+5) + (5+2+6+4) + (6+3+1+5) ๋งํผ ์ฌ๋ฃ๊ฐ ํ์ํ๋ค.
๋งค๋ฒ ์ด๋ ๊ฒ ๊ตฌํ ์ ์์ผ๋ฏ๋ก ๊ท์น์ ์ฐพ์๋ณด๋
์ฒซ ๋ 1๋ฒ +2๋ฒ +3๋ฒ +4๋ฒ +5๋ฒ +6๋ฒ
๋ค์๋ 1๋ฒ*4 + 2๋ฒ*4 + 3๋ฒ*4 + 4๋ฒ*4 + 5๋ฒ*4 + 6๋ฒ*4 ์ด๋ค.
๊ฐ ์ฌ๋ฃ๋ฅผ ๊ณ์ํด์ 4๋ฐฐ์ฉ ํ ๋ค์ ํฉ์ ๊ตฌํ๋ฉด ํ๋ฃจ์ ํ์ํ ์ฌ๋ฃ ์์ ๊ตฌํ ์ ์๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _3060_ { // ์์ฌ์์ด ๋ผ์ง
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
int arr[] = new int[6];
int sum = 0;
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(bf.readLine());
int day = 1;
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < 6; j++) {
arr[j] = Integer.parseInt(st.nextToken());
sum += arr[j];
}
while (true) {
if (n - sum == 0) {
bw.write((day + 1) + "\n");
break;
}
if (n - sum < 0) {
bw.write(day + "\n");
break;
} else {
day += 1;
}
sum = 0;
for (int j = 0; j < 6; j++) {
arr[j] *= 4;
sum += arr[j];
}
}
sum = 0;
}
bw.flush();
}
}
๋ณ์)
t : ํ ์คํธ ์ผ์ด์ค ์
arr : ์ฌ๋ฃ ์
sum : ํ๋ฃจ์ ํ์ํ ์ฌ๋ฃ ํฉ
n : ํ๋ฃจ์ ๋ฐฐ๋ฌ๋๋ ์ฌ๋ฃ์ ์
day : ์๊ตฌ๋ฅผ ๋ค์ด์ค ์ ์๊ฒ ๋๋ ๋
ํ ์คํธ ์ผ์ด์ค ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ ์คํธ ์ผ์ด์ค ์๋งํผ ํ๋ฃจ์ ๋ฐฐ๋ฌ๋๋ ์ฌ๋ฃ์ ์๊ณผ ์ฒซ ๋ ๋จน์๋ ์์ฌ์ ์์ ์ ๋ ฅ๋ฐ๋๋ค. ์ฒซ ๋ ๋จน์๋ ์์ฌ์ ์์ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ์ฒซ ๋ ์์ฌ์ ์์ ํฉ์ ๊ตฌํ๋ค. ๊ทธ ํ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) n-sum์ด 0์ด๋ผ๋ฉด ๋ชจ๋ ์ฌ๋ฃ๋ฅผ ๋ค ์ฐ๊ณ ๋ค์๋ ์ ์ฌ๋ฃ๊ฐ ๋ถ์กฑํ๋ฏ๋ก day+1์ ์ถ๋ ฅํ๋ค.
2) n-sum์ด 0๋ณด๋ค ์๋ค๋ฉด ์ฌ๋ฃ๊ฐ ๋ถ์กฑํ๋ฏ๋ก day์ ์ถ๋ ฅํ๋ค.
3) ๊ทธ ์ธ๋ผ๋ฉด day+1์ ํ๋ค.
4) sum์ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
5) ๊ฐ ์ฌ๋ฃ๋ฅผ 4๋ฐฐ์ฉ ํ ๊ฐ์ ์ ์ฅํ๋ค. ๊ทธ ํ ์ฌ๋ฃ ํฉ์ ๊ตฌํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2149_์ํธ ํด๋ (0) | 2024.04.12 |
---|---|
[Baekjoon] 12927_๋ฐฐ์ ์ค์์น (0) | 2024.04.11 |
[Baekjoon] 28471_Wํค๊ฐ ๋น ์ง ์ฑ์์ด (0) | 2024.04.09 |
[Baekjoon] 1347_๋ฏธ๋ก ๋ง๋ค๊ธฐ (0) | 2024.04.05 |
[Baekjoon] 21919_์์ ์ต์ ๊ณต๋ฐฐ์ (0) | 2024.04.04 |