https://school.programmers.co.kr/learn/courses/30/lessons/120876
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ ์ถํ ์ฝ๋
def solution(lines):
points = [0]*201
for i in lines:
x1, x2 = i[0]+100, i[1]+100
for j in range(x1,x2):
points[j] += 1
answer = 0
for i in points:
if i >= 2:
answer += 1
return answer
ํ์ด ์์ฝ
1. -100๋ถํฐ 100๊น์ง์ ์ ์ ๋ด์ ํฌ๊ธฐ 201์ง๋ฆฌ ๋ฐฐ์ด points๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
2. ๊ฐ๊ฐ์ ์ ๋ถ์ด ์ง๋๊ฐ๋ ์ ์ ํ์ํด์ค๋ค: ๋ฐฐ์ด์ (์์์ +100) ~ (๋์ +100)-1 ๋ฒ์งธ ์นธ์ 1์ฉ ๋ํด์ฃผ๊ธฐ
3. ๋ฐฐ์ด ๊ฐ์ด 2๋ฅผ ๋์ด๊ฐ๋ฉด ์ ๋ถ์ด 2๊ฐ ์ด์ ๊ทธ ์ ์ ์ง๋๊ฐ๋ค๋ ๋ป์ด๋ฏ๋ก ๊ฒน์น๋ ๋ถ๋ถ์ด๋ค --> ์ด๋ฌํ ์ ๋ค์ ์นด์ดํธํ์ฌ ๋ฆฌํด.
์ ์ถํ๊ณ ๋ค๋ฅธ ๋ถ๋ค ์ฝ๋๋ฅผ ๋ณด๋๊น ๊ทธ๋ฅ ์งํฉ์ผ๋ก ํผ ์ฌ๋๋ค๋ ์์ฃผ ๋ง์๋ค.
๊ฐ ์ ๋ถ์ด ์ง๋๊ฐ๋ ์ ๋ค์ ๊ฐ๊ฐ ์งํฉ์ ์ ์ฅํ๊ณ , ๊ต์งํฉ ๊ฐ์๋ฅผ ๊ตฌํด์ ๋ฆฌํด.
๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋๋ ๋ค ๊ฐ๋จํ๊ณ ๋ฉ์ง๊ฒ๊ฐ๋ค.
์ฌ๊ธฐ์๋ถํฐ๋ ๊ณ ๋ฏผํ ํ์ ๋ค ๊ธฐ๋ก.
์ฒ์์ ์๊ฐํ๋ ์์ด๋์ด
1. lines์์ ์ต์, ์ต๋๊ฐ minVal, maxVal์ ๊ฐ๊ฐ ์ฐพ๋๋ค
arr[0] | arr[1] | arr[2] | arr[3] | arr[4] | arr[5] | arr[6] | arr[7] |
minVal | minVal+1 | minVal+2 | minVal+3 | minVal+4 | minVal+5 | minVal+6 | minVal+7 |
์ด๋ ๊ฒ minVal ~ maxVal๊น์ง ์ซ์๋ค์ ๋ด์ ์ ์๋ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
2. ๊ฐ ์ ๋ถ์ด ํด๋น ์นธ(์ )์ ์ง๋๊ฐ์ ํํํ๊ธฐ ์ํด์ ์ฒ์ (์์์ +1)~๋์ ๊น์ง arr์ 1์ ๋ํด์ค๋ค.
-์์. minVal=-1์ด๊ณ , [-1,3] ์ ๋ถ ํํ
arr[0] (์ -1์ ํด๋น) | arr[1] (์ 0์ ํด๋น) | arr[2] (์ 1์ ํด๋น) | arr[3] (์ 2์ ํด๋น) | arr[4] (์ 3์ ํด๋น) |
0 | 1 | 1 | 1 | 1 |
-->์ ๋ถ ๊ธธ์ด: 4
3. 3๊ฐ์ ์ ๋ถ์ ๋ํด ๊ฐ๊ฐ 2๊ณผ์ ์ ์ํํ๋ค. ์ ๋ถ์ด ๊ฒน์น๋ ์ ์ ๋ฐฐ์ด ๊ฐ์ 2 ์ด์์ผ ๊ฒ์ด๋ค.
๋ฐฐ์ด ๊ฐ์ด 2๋ณด๋ค ๊ฐ๊ฑฐ๋ ํฐ ์ ๋ค์ ๋ชจ๋ ์นด์ดํธํ์ฌ ์ถ๋ ฅํ๋ฉด ๋๋ค.
์ด๋ ๊ฒ ํ๋ ค๋๊น ๋ฐฐ์ด ํฌ๊ธฐ์ ์ธ๋ฑ์ค๊ฐ ๋ฌธ์ ๊ฐ ๋์๋์ง ์๊พธ ์๋ฌ๊ฐ ๋ฌ๊ณ ,
์ฝ๋๋ฅผ ์์ ํ๋ ค๊ณ ํ๋๋ ๋ด๊ฐ ์งฐ๋๋ฐ๋ ์ธ๋ฑ์ค ์ธ๋ ๊ฒ ์๊พธ ํท๊ฐ๋ ธ์.
๋ง์ด๋์ค ์ขํ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ ํ๋ค๊ฐ ์ ์ผ ์์ ์ขํ๋ฅผ ๋ฐฐ์ด์ ๋งจ ์ฒ์ ๊ฐ์ผ๋ก ๋์ ์๊ฐํ๋ ๊ฑฐ์๋๋ฐ,
๊ณ ๋ฏผํ๋ค๋ณด๋๊น ์กฐ๊ธ ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์๋ค.
์ฃผ์ด์ง๋ ์ ์ ๋ฒ์๋ -100๋ถํฐ 100๊น์ง๋๊น,
์ฒ์๋ถํฐ ํฌ๊ธฐ 201์ง๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค์ด๋๊ณ , ์ซ์๋ฅผ ์ ๋ถ ๋ค 100์ฉ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐ์ด์ ์นด์ดํธํ๋ฉด ๋๋ค.
arr[0] | arr[1] | arr[2] | ... | arr[100] | ... | arr[201] |
์ -100์ ํด๋น | ์ -99์ ํด๋น | ์ -98์ ํด๋น | ... | ์ 0์ ํด๋น | ... | ์ 100์ ํด๋น |
์ฆ, ์ขํ๋ฅผ ์ด๋ ๊ฒ 100์ฉ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐ์ด์ ์ฎ๊ฒจ๋๊ณ ,
ํธํ๊ฒ ์นด์ดํธํ๋ฉด ๋๋๊ฑฐ์๋น..... ^^...
์ด์ฐจํผ ์ฃผ์ด์ง a,b๊ฐ์ด -100์์ 100์ผ๋ก ๋งค์ฐ ์์ ์ซ์๋ค์ด๊ธฐ ๋๋ฌธ์
minVal, maxVal ์ฐพ๊ณ ์ ๋์๊ฐ๋ ๋จธ๋ฆฌ๋ก ์ธ๋ฑ์ค ์ค์ ํ๋ฉด์ ์๊ฐ ๋ญ๋น ํ๋๊ฒ๋ณด๋ค
๋ง์ด๋์ค ์ขํ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋ฒ์ ๋ฐ์ด๋ฒ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ํ์ด๋ผ ์ ์์๋ค.
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]18310๋ฒ: ์ํ ๋ (1) | 2023.03.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์๋ฌผ์ ์ ์ด์ (0) | 2023.03.07 |
[๋ฐฑ์ค]10825๋ฒ: ๊ตญ์์ (0) | 2023.03.04 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ฃผ์ ์ซ์ 3 (0) | 2023.03.04 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์์ถ (0) | 2023.03.02 |