λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 2506번 : μ μˆ˜κ³„μ‚°

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 8. 19.

 

 

Algorithm

-  μ μˆ˜κ³„μ‚° -

 


 

문제

OX λ¬Έμ œλŠ” λ§žκ±°λ‚˜ ν‹€λ¦° 두 경우의 닡을 κ°€μ§€λŠ” 문제λ₯Ό λ§ν•œλ‹€. μ—¬λŸ¬ 개의 OX 문제둜 λ§Œλ“€μ–΄μ§„ μ‹œν—˜μ—μ„œ μ—°μ†μ μœΌλ‘œ 닡을 λ§žνžˆλŠ” κ²½μš°μ—λŠ” 가산점을 μ£ΌκΈ° μœ„ν•΄μ„œ λ‹€μŒκ³Ό 같이 점수 계산을 ν•˜κΈ°λ‘œ ν•˜μ˜€λ‹€. 1번 λ¬Έμ œκ°€ λ§žλŠ” κ²½μš°μ—λŠ” 1점으둜 κ³„μ‚°ν•œλ‹€. μ•žμ˜ λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” 닡을 틀리닀가 닡이 λ§žλŠ” 처음 λ¬Έμ œλŠ” 1점으둜 κ³„μ‚°ν•œλ‹€. λ˜ν•œ, μ—°μ†μœΌλ‘œ 문제의 닡이 λ§žλŠ” κ²½μš°μ—μ„œ 두 번째 λ¬Έμ œλŠ” 2점, μ„Έ 번째 λ¬Έμ œλŠ” 3점, ..., K번째 λ¬Έμ œλŠ” K점으둜 κ³„μ‚°ν•œλ‹€. ν‹€λ¦° λ¬Έμ œλŠ” 0점으둜 κ³„μ‚°ν•œλ‹€.

예λ₯Ό λ“€μ–΄, μ•„λž˜μ™€ 같이 10 개의 OX λ¬Έμ œμ—μ„œ 닡이 λ§žμ€ 문제의 κ²½μš°μ—λŠ” 1둜 ν‘œμ‹œν•˜κ³ , ν‹€λ¦° κ²½μš°μ—λŠ” 0으둜 ν‘œμ‹œν•˜μ˜€μ„ λ•Œ, 점수 계산은 μ•„λž˜ ν‘œμ™€ 같이 κ³„μ‚°λ˜μ–΄, 총 μ μˆ˜λŠ” 1+1+2+3+1+2=10 점이닀.

채
점
1 0 1 1 1 0 0 1 1 0
점
수
1 0 1 2 3 0 0 1 2 0

μ‹œν—˜λ¬Έμ œμ˜ 채점 κ²°κ³Όκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 총 점수λ₯Ό κ³„μ‚°ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
	.toString()
	.split("\n")
	.map((el) => el.split(" ").map((el) => Number(el)));
let grade = input[1];
let result = 0;
let bonus = 0;

for (let i = 0; i < grade.length; i++) {
	if (grade[i] === 1) {
		bonus++;
		result += bonus;
	}
	else {
		bonus = 0;
	}
}

console.log(result);

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€