Search

๊ฐ•๋™์—ฐ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
2400
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
def solution(n, results): answer = 0 arr = [[0 for _ in range(n + 1)] for _ in range(n + 1)] for x,y in results: arr[x][y] = 1 arr[y][x] = -1 for k in range(1, n+1): for i in range(1,n+1): for j in range(1, n+1): if arr[i][j] == 0 and arr[i][k] == arr[k][j] == 1: arr[i][j] = 1 elif arr[i][j] == 0 and arr[i][k] == arr[k][j] == -1: arr[i][j] = -1 for row in arr[1:]: # print(row) if row[1:].count(0) == 1: answer+=1 return answer print(solution(5, [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]]), 2)
Python
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
์ฒ˜์Œ์—๋Š” ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ตœ์žฅ ์‹ ์žฅ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ•˜์—ฌ ๊ฐ ํŠธ๋ฆฌ์˜ ๋ ˆ๋ฒจ์—์„œ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜์˜€์ง€๋งŒ ์ด๋Š” ๋„ˆ๋ฌด ์–ด๋ ค์šด ์ ‘๊ทผ์ด์˜€๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋‹ค์–‘ํ•œ ํ’€์ด๋ฒ•์ด ์กด์žฌํ•˜์ง€๋งŒ ๋‚˜๋Š” ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€์ดํ•˜์˜€๋‹ค.
n๋ช…์˜ ์„ ์ˆ˜๊ฐ€ ์กด์žฌํ•  ๋•Œ, ๋‹ค๋ฅธ n-1 ์„ ์ˆ˜๋“ค๊ณผ์˜ ์ŠนํŒจ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด, ์ˆœ์œ„๊ฐ€ ์ •ํ•ด์ง„๋‹ค. โ†’ ์ด๊ฒŒ ํฌ์ธํŠธ!
1.
๊ฐ ์„ ์ˆ˜๋“ค์˜ ์ŠนํŒจ๋ฅผ ์ €์žฅํ•˜๋Š” 2์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฐจ์› ๋ฐฐ์—ด์— ํ‘œ์‹œํ•œ๋‹ค. ์ด ๋•Œ, ์Šน๋ฆฌํ•œ ๊ฒฝ์šฐ 1, ์ง„ ๊ฒฝ์šฐ์—๋Š” -1๋กœ ํ‘œ์‹œํ•œ๋‹ค.
2.
ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋งŒ์•ฝ ํ•ด๋‹น ๋ฐฐ์—ด์˜ ์ŠนํŒจ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด arr[a][c] ์™€ arr[c][b]๊ฐ€ ๋ชจ๋‘ 1์ด๋ผ๋ฉด arr[a][b]๋„ 1์ด๋‹ค.
3.
๊ฐ ํ–‰์„ ๋Œ๋ฉด์„œ ์ŠนํŒจ ์ •๋ณด๋ฅผ n-1๊ฐœ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด answer+1์„ ํ•ด์ค€๋‹ค.