[ JavaScript ์๊ณ ๋ฆฌ์ฆ (ํ๋ก๊ทธ๋๋จธ์ค)] ์์๋ํ๊ธฐ
2023. 8. 14. 23:42ใ5. Algorithm
- ์์๋ํ๊ธฐ
1. ๋ฌธ์ ์ค๋ช
์ด๋ค ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์ ๋๊ฐ์ ์ฐจ๋ก๋๋ก ๋ด์ ์ ์ ๋ฐฐ์ด absolutes์ ์ด ์ ์๋ค์ ๋ถํธ๋ฅผ ์ฐจ๋ก๋๋ก ๋ด์ ๋ถ๋ฆฌ์ธ ๋ฐฐ์ด signs๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ค์ ์ ์๋ค์ ํฉ์ ๊ตฌํ์ฌ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
2. ์ ์ถ๋ ฅ ์

3. ์ ํ์ฌํญ
- absolutes์ ๊ธธ์ด๋ 1 ์ด์ 1,000 ์ดํ์
๋๋ค.
- absolutes์ ๋ชจ๋ ์๋ ๊ฐ๊ฐ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- signs์ ๊ธธ์ด๋ absolutes์ ๊ธธ์ด์ ๊ฐ์ต๋๋ค.
- signs[i] ๊ฐ ์ฐธ์ด๋ฉด absolutes[i] ์ ์ค์ ์ ์๊ฐ ์์์์, ๊ทธ๋ ์ง ์์ผ๋ฉด ์์์์ ์๋ฏธํฉ๋๋ค.
4. ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- signs๊ฐ [true,false,true] ์ด๋ฏ๋ก, ์ค์ ์๋ค์ ๊ฐ์ ๊ฐ๊ฐ 4, -7, 12์ ๋๋ค.
- ๋ฐ๋ผ์ ์ธ ์์ ํฉ์ธ 9๋ฅผ return ํด์ผ ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- signs๊ฐ [false,false,true] ์ด๋ฏ๋ก, ์ค์ ์๋ค์ ๊ฐ์ ๊ฐ๊ฐ -1, -2, 3์ ๋๋ค.
- ๋ฐ๋ผ์ ์ธ ์์ ํฉ์ธ 0์ return ํด์ผ ํฉ๋๋ค.
[ ๋ด๊ฐํ ๋ฌธ์ ํ์ด ]
function solution(absolutes, signs) {
let answer = 0;
for (let i = 0; i < signs.length; i++) {
// for๋ฌธ ; sign๊ธธ์ด๋งํผ ๋ฐ๋ณตํด์ i๋ณ์๋ฅผ 0๋ถํฐ sig๊ธธ์ด๋ณด๋ค ์์๋๊น์ง 1์ฉ์ฆ๊ฐ์ํค๋ฉด์ ๋ฐ๋ณตํจ
if (signs[i]) {
// if๋ฌธ์ผ๋ก ์ฐธ/๊ฑฐ์ง ํ๋จ
answer += absolutes[i];
// ์ฐธ์ด๋ฉด absolutes[i]๋ฅผ ๋ํ๋ค.
} else {
answer -= absolutes[i];
// ๊ฑฐ์ง์ด๋ฉด absolutes[i]๋ฅผ ๋บ๋ค.
}
}
return answer;
* 1์ฃผ์ฐจ ์์ ๋ก ๋์จ ๋ถ๋ถ์ด๋ผ, ํด์์์์ด ์์๋ค. ํํฐ๋์ด ๋ง๋ค์ด๋ธ ์ฝ๋๋ ์๋์๊ฐ๋ค!
function solution(absolutes, signs) {
//1. returnํด์ผํ๋ answer ์์ฑ
var answer = 0;
// 2.๋ ๋ฐฐ์ด์ ๋น๊ตํด ๊ฐ๋ฉด์ ๊ฐ์ ๋ํ๊ฑฐ๋ ํด์ค๊ฒ
// 2-1 ๋๋ฐฐ์ด์ ํฌ๊ธฐ๋ ๊ฐ์
for (var i=o; i<absolutes.length; i++ ){
// ๋ถํธ (+,-)์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ ๋ถ๊ธฐ
if ( signs[i] === true ){
// ๊ฐ์ด true์ธ๊ฒฝ์ฐ (์์))
answer = answer + absolutes(i);
}eles if (signs[i] === false) {
// ๊ฐ์ด true์ธ๊ฒฝ์ฐ (์์))
answer = answer - absolutes(i)
}
}
return answer
