๊ฒ์ ํ๋ก๊ทธ๋๋ฐ/Python ํ๋ก๊ทธ๋๋ฐ
ํ๋ก๊ทธ๋๋จธ์ค LV2 ์๊ฒฉ ์์คํ = ๋จ์์นด๋ฉ๋ผ
๐ฎinspirer9
2023. 6. 28. 22:39
728x90
๋ฐ์ํ
์ค๋ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋๋ ๋ฐ๋ณด์๋ค๋ ์๊ฐ์ ํ๋ค.
def solution(targets):
answer = 0
targets.sort()
head,tail = 0,0
for t in targets:
s,e = t
#print(head,tail,"<-",s,e, answer)
if tail <= s:
answer += 1
head,tail = s,e
else:
head = max(head, s)
tail = min(tail, e)
return answer
์ด๊ฑฐ๋ ๋น์ทํ ๋ฌธ์ ๊ฐ ๋จ์์นด๋ฉ๋ผ์ธ๋ฐ, ๊ทธ๋ ๋ด๊ฐ ํ์๋ ์ฝ๋๋ฅผ ๋ณด๋ ใ ก.ใ ก;
๊ทธ๋๊ฐ 2023๋ 2์ 27์ผ์ด์๋๋ฐ C์ธ์ด๋ C#์ธ์ด๋ก ํ๋ค๊ฐ ํ์ด์ฌ์ผ๋ก ์ธ์ด๋ฅผ ๋ฐ๊ฟจ์ ๋์๋ค.
์ง๊ธ๋ณด๋ ํ์ด์ฌ ์ฝ๋ฉํ๋ ์คํ์ผ์ด ๋ง์ด ๋ฐ๋์๋ค.
def solution(routes):
routes.sort(key=lambda x:(x[1],x[0]))
์์ฐํ์ฐจ๋ = len(routes)
์ฐฐ์นต = [1 for _ in range(len(routes))]
์นด๋ฉ๋ผ_์ค์น_์๋ = 0
์นด๋ฉ๋ผ_index = 0
์นด๋ฉ๋ผ_์์น = routes[์นด๋ฉ๋ผ_index][1]
while ์์ฐํ์ฐจ๋ > 0:
for i in range(์นด๋ฉ๋ผ_index,len(routes)):
if ์ฐฐ์นต[i] == 1 and routes[i][0] <= ์นด๋ฉ๋ผ_์์น and ์นด๋ฉ๋ผ_์์น <= routes[i][1]:
์ฐฐ์นต[i] = 0
์์ฐํ์ฐจ๋ -= 1
for i in range(์นด๋ฉ๋ผ_index,len(routes)):
if ์ฐฐ์นต[i] == 1:
์นด๋ฉ๋ผ_index = i
์นด๋ฉ๋ผ_์์น = routes[์นด๋ฉ๋ผ_index][1]
์นด๋ฉ๋ผ_์ค์น_์๋ += 1
break
return ์นด๋ฉ๋ผ_์ค์น_์๋ + 1
๋ฒ์จ 4๊ฐ์ ์ ์ด์ผ๊ธฐ๊ตฌ๋... ์๊ฐ์ด ๋๋ฌด ๋น ๋ฅด๊ฒ ํ๋ฅด๋ค...
๊ทผ๋ฐ ์๊ฐ์ด ๋น ๋ฅด๊ฒ ํ๋ฅด๋๊ฒ ์ข๋ค. ํ๋ค๊ณ ๊ดด๋ก์ด ์๊ฐ์ด ๋น ๋ฅด๊ฒ ํ๋ฅด๋ ๊ฑฐ๋๊น...
์ด๋ฆด ๋ ํ๋ค๊ณ ๊ดด๋ก์ด ๊ฒ๋ค์ ๊ธ๋ฐฉ ์์๋๋ฐ, ์์ฆ์ ์ ์ํ์ง์ง ์์์ ๋ ํ๋ ๊ฒ ๊ฐ๋ค.
728x90
๋ฐ์ํ