๐ฅ๋ฌธ์ ๋งํฌ
https://school.programmers.co.kr/learn/courses/30/lessons/120876
๐ฅํ์ด
๋ฌธ์ ์ ํต์ฌ์ ๊ฒน์น๋ ๊ธธ์ด๋ฅผ count ํ๋ ๊ฒ์ด๋ค. ๋๋ ์ ๋ถ์ ์์์ ๊ณผ ๋์ ์ด ์ ์๋ก ์ฃผ์ด์ง๋ค๋ ์ฌ์ค์ ์ธ์งํ์ฌ ์ ์์ฌ์ด์ ์๋ฅผ ์ด์ฉํ๋ค. ์๋ฅผ๋ค์ด [1,3]๊ณผ [2,4] ๋ผ๋ ์ ๋ถ์ด ์ฃผ์ด์ง๋ค๋ฉด ์ฐ๋ฆฌ๋ ๊ฐ๊ฐ์ ์ ๋ถ ์์ญ์ 1.5, 2.5, 3.5 ์ค ๋ช๊ฐ๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ฉด ๋๋ค.
์์๊ฐ์ ์๋ฆฌ๋ฅผ ์ด์ฉํด ๋ชจ๋ ์ ๋ถ์ ๊ฐ์ฅ์์ ์์์ ๊ณผ ๊ฐ์ฅ ํฐ ๋์ ์ ํ์ ํ๊ณ ๊ทธ ์ฌ์ด์์ ํ์ธํด์ผ ํ .5 ๋จ์์ ์๋ฅผ ์ํํ๋ฉด์ ์ค๋ณต๋ ๊ธธ์ด๋ฅผ ํ์ธํ์๋ค.
function solution(lines) {
let [[s1,e1],[s2,e2],[s3,e3]] = lines
let start = Math.min(s1,s2,s3)
let end = Math.max(e1,e2,e3)
let dup_length = 0
for(let i=start+0.5; i<=end-0.5; ++i){
let count = 0
for(const [s,e] of lines){
if(i>s&&i<e){
++count
}
}
if(count>=2){ ++ dup_length}
}
return dup_length;
}
'๐Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[JS] > [3์ฐจ] n์ง์ ๊ฒ์ (0) | 2024.08.05 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ์ ์ ์ผ๊ฐํ (0) | 2024.08.04 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ (0) | 2024.07.15 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ๋คํธ์ํฌ (0) | 2024.07.13 |
ํ๋ก๊ทธ๋๋จธ์ค [JS] > ์์์ฐพ๊ธฐ (0) | 2024.07.07 |