1. ํ๋ก๊ทธ๋๋จธ์ค ํ ๋ฌธ์ ํ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค - ๋น๊ตฌ ์ฐ์ต (L2) ๐ง Algorithm
1def solution(m, n, startX, startY, balls): 2 answer = [] 3 for bx, by in balls: 4 tmp = [] 5 for x, y in [(-1*startX, startY), (startX, -1*startY), (startX, 2*n-startY), (2*m-startX, startY)]: 6 if bx==x and (y < 0 < by < startY or startY < by < n < y): 7 continue 8 if by==y and (x < 0 < bx < startX or startX < bx < m < x): 9 continue 10 tmp.
1. ํ๋ก๊ทธ๋๋จธ์ค ํ ๋ฌธ์ ํ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค - ๋ํ์ค ๊ฒ์ (L2) ๐ง Algorithm
1import heapq 2 3def solution(n, k, enemy): 4 heap = [] 5 cnt = 0 6 for i in enemy: 7 n -= i 8 heapq.heappush(heap, -i) 9 while n < 0: 10 k -= 1 11 if not heap or k < 0: 12 return cnt 13 tmp = -heapq.heappop(heap) 14 n += tmp 15 cnt += 1 16 return cnt ๋ฌธ์ n: ๊ฐ์ง๊ณ ์๋ ๋ณ์ฌ ์ k: ์ฌ์ฉํ ์ ์๋ ๋ฌด์ ๊ถ ์คํฌ ์ enemy: ๋ผ์ด๋๋ง๋ค ์กด์ฌํ๋ ์ ์์ ๋ฐฐ์ด ๋ผ์ด๋๋ง๋ค enemy[i]๋ช
๋งํผ ์๋ชจํ์ฌ enemy[i]๋ง๋ฆฌ์ ์ ์ ๋ง์ ์ ์๋ค ๋ฌด์ ๊ถ์ ์ ์ ํ ์ฌ์ฉํ์ฌ ๋ฒํธ ์ ์๋ ์ต๋ ๋ผ์ด๋ ์๋ฅผ ๊ตฌํ๋ผ TC input n: 7, k: 3, enemy: [4, 2, 4, 5, 3, 3, 1] 2.
ํ๋ก๊ทธ๋๋จธ์ค ํ ๋ฌธ์ ํ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค - n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (L2) ๐ง Algorithm
1def solution(n, left, right): 2 answer = [] 3 start = (left//n, left%n) 4 end = (right//n, right%n) 5 6 for i in range(start[0], end[0]+1): 7 line = [i+1]*(i+1) + [i for i in range(i+2, n+1)] 8 answer += line 9 10 return answer[start[1]:right-(start[0]*n)+1] ๋ฌธ์ ์ ์ n, left, right๊ฐ ์ฃผ์ด์ง๋ค n X n ํฌ๊ธฐ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค i=1,2,3.