"์ค๋๋ ํธ์ฌ๋ง ์๊ฒ ํด์ฃผ์ธ์. ๋ฒํ-"
2๋
์ฐจ ๊ฐ๋ฏธ ์คํ์ด๋ ์ค๋๋ ๋ฒํ์ ์๊ฒ ๊ธฐ๋๋ฅผ ์ฌ๋ฆฐ๋ค. ์ฅ๊ธฐ ํฌ์๋ฅผ ์งํฅํ๋ ์คํ์ด๋ ํ ๋ฒ ์ฐ ์ฃผ์์ ์ ๋ ํ์ง ์๋๋ค. 2099๋
์ด ๋์ด๋ ์ฃผ์์ ํ์ง ์์ ๊ฒ์ด๋ค. ์ฃผ์ ๋งค์ ํ ์ค๋ก์ง ๊ธฐ๋๋ง ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ BNP ์ ๋ต์ด๋ผ๊ณ ํ๋ค. BNP๋ Buy and Pray์ ์ฝ์์ด๋ค. ์คํ์ด๋ ์ฃผ์์ ์ด ์ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์ต๋ํ ๋ง์ด ์ฐ๋ค. ์คํ์ด๋ ์์ฌ์์ด์ด๊ธฐ ๋๋ฌธ์, ์ฃผ์์ ์ด ์ ์๋ค๋ฉด ๊ฐ๋ฅํ ๋งํผ ์ฆ์ ๋งค์ํ๋ค. ๋ค์์ ์คํ์ด๊ฐ ํ๊ธ 100์์ผ๋ก A๊ธฐ์
์ ์ฃผ์์ ์ฌ๋ ๊ฒฝ์ฐ์ด๋ค.

"์ฃผ์์ ํ์ด๋ฐ์ด์ง!"
๋ฐ๋ฉด, ์ฑ๋ฏผ์ด๋ ์ค๋๋ ์ฃผ์ ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค. ๋ชจ๋ํฐ 8๊ฐ์์ ๋ฟ์ด์ ธ ๋์ค๋ ํ๋ คํ ์ฃผ์ ์ฐจํธ๊ฐ ์ฑ๋ฏผ์ด๋ฅผ ๊ฐ์ผ๋ค. ์ฑ๋ฏผ์ด๋ ์ฃผ์์ด ํ์ด๋ฐ ์ธ์์ด๋ผ ์๊ฐํ๋ค. ์ ํ์ ์ธ ๋จ๊ธฐ ํฌ์์๋ก ์๊ฐํ๋ฉด ์ค์ฐ์ด๋ค. ์ฑ๋ฏผ์ด๋ง์ ์ ๋ต์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฅธ๋ฐ 33 ๋งค๋งค๋ฒ์ผ๋ก, ๊ทธ ๋ฐฉ๋ฒ์ ๋ค์์ ์ธ ๊ฐ์ง ๋ฃฐ๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ฐ๋ฆฌ๋ 2021๋ 1์ 1์ผ๋ถํฐ 2021๋ 1์ 14์ผ๊น์ง์ ์ฃผ์ ๊ฐ๊ฒฉ์ ๋ฏธ๋ฆฌ ์๊ณ ์๋ค. ์คํ์ด์ ์ฑ๋ฏผ์ด ์ค ๋๊ฐ ๋ ๋์ ์์ต๋ฅ ์ ๋ผ์ง ๋งํ๋ณด์!
์ฒซ ๋ฒ์งธ ์ค์ ์คํ์ด์ ์ฑ๋ฏผ์ด์๊ฒ ์ฃผ์ด์ง ํ๊ธ์ด ์ฃผ์ด์ง๋ค.
๋ ๋ฒ์งธ ์ค์ 2021๋ 1์ 1์ผ๋ถํฐ 2021๋ 1์ 14์ผ๊น์ง์ MachineDuck ์ฃผ๊ฐ๊ฐ ๊ณต๋ฐฑ์ ๋๊ณ ์ฐจ๋ก๋๋ก ์ฃผ์ด์ง๋ค. ๋ชจ๋ ์ ๋ ฅ์ 1000 ์ดํ์ ์์ ์ ์์ด๋ค.
1์ 14์ผ ๊ธฐ์ค ์คํ์ด์ ์์ฐ์ด ๋ ํฌ๋ค๋ฉด "BNP"๋ฅผ, ์ฑ๋ฏผ์ด์ ์์ฐ์ด ๋ ํฌ๋ค๋ฉด "TIMING"์ ์ถ๋ ฅํ๋ค.
๋์ ์์ฐ์ด ๊ฐ๋ค๋ฉด "SAMESAME"์ ์ถ๋ ฅํ๋ค. ๋ชจ๋ ๊ฒฐ๊ณผ ๋ฐ์ดํ๋ฅผ ์ ์ธํ๊ณ ์ถ๋ ฅํ๋ค.
100
10 20 23 34 55 30 22 19 12 45 23 44 34 38
BNP
const fs = require('fs');
let [money, stock] = fs.readFileSync(0, 'utf-8').toString().trim().split('\n');
stock = stock.trim().split(' ').map(Number);
let SM = Number(money.trim());
let JH = Number(money.trim());
let SM_stock = 0;
let JH_stock = 0;
let up = 0;
let down = 0;
for (let i = 0; i < stock.length - 1; i++) {
if (stock[i] <= JH) {
JH_stock += Math.floor(JH / stock[i]);
JH -= stock[i] * Math.floor(JH / stock[i]);
}
if (i !== 0 && stock[i - 1] < stock[i]) {
up++;
down = 0;
} else if (i !== 0 && stock[i - 1] > stock[i]) {
down++;
up = 0;
}
if (up >= 3) {
SM += stock[i] * SM_stock;
SM_stock = 0;
} else if (down >= 3) {
if (stock[i] <= SM) {
SM_stock += Math.floor(SM / stock[i]);
SM -= stock[i] * Math.floor(SM / stock[i]);
}
}
}
let SM_result = SM + stock[stock.length - 1] * SM_stock;
let JH_result = JH + stock[stock.length - 1] * JH_stock;
if (SM_result > JH_result) console.log('TIMING');
else if (SM_result < JH_result) console.log('BNP');
else console.log('SAMESAME');
์ ๋ฆฌ๋ฅผ ํ๋ค๋ณด๋ ๋ถ๋ฑํธ๊ฐ ํ๋ ธ๋ค๋ ๊ฑธ ์์๋ค. (์คํ์ด๋ ๊ฐ์ ์ด์ ๋ก ํ๋ ธ์๋๋ฐ ์ฑ๋ฏผ์ด๋ ์์ ํด์ฃผ์ด์ผ ํ๋๋ฐ ์ ํ๋ค.) ๊ทธ๋ผ์๋ ๋ง์๊ฑด ๋ฐ์ดํฐ ๋ถ์กฑ์ด์ง ์์๊น.. ํฌ๊ฒ ์ค๋ฅ๋ ๋ถ๋ถ์ ์๋๊ณ .. ์คํ์ด์์ ํ ์คํธํ์ผ๋ ๊ตณ์ด ์ฑ๋ฏผ์ด๋ฅผ ์ ํ๋๋ณด๋ค.. ์ฃผ์์ ์ ๋ง ํ ๋ฒ๋ ๊ฑด๋๋ ค๋ณธ ์ ์๋ ์์ญ์ด๋ผ ๊ทธ๋ฐ์ง ๋ฌธ์ ์ดํดํ๋๋ฐ ํ์ ์ผ๋ค.. ๋ญ ์๊พธ ํ๊ณ .. ์ฌ๊ณ .. ๊ทธ๋๋ ํ์คํ ์ข์ํ๋ ์๋ฎฌ๋ ์ด์ ๋ถ๋ถ์ด๋ผ ๊ทธ๋ฐ์ง ์ดํดํ๊ณ ๋์๋ ์ฌ๋ฐ๊ฒ ๊ตฌํํ๋ค.