programmers.co.kr/learn/courses/30/lessons/49191
def solution(n, results):
arr = [[False] * (n+1) for _ in range(n+1)]
for i, j in results :
arr[i][j] = True
for i in range(1,n+1) :
for j in range(1, n+1) :
if i == j : continue
else :
if arr[i][j] == True :
for k in range(1,n+1) :
if k == i : continue
if arr[j][k] == True : arr[i][k] = True
answer = 0
for i in range(1, n+1) :
cnt = 0
for j in range(1,n+1) :
if arr[i][j] == True or arr[j][i]: cnt += 1
if cnt == n-1 : answer += 1
return answer
정확성 테스트
테스트 1 〉 | 통과 (0.02ms, 10.1MB) |
테스트 2 〉 | 실패 (0.05ms, 10.2MB) |
테스트 3 〉 | 통과 (0.10ms, 10.2MB) |
테스트 4 〉 | 통과 (0.17ms, 10.3MB) |
테스트 5 〉 | 통과 (1.11ms, 10.2MB) |
테스트 6 〉 | 통과 (2.59ms, 10.1MB) |
테스트 7 〉 | 실패 (13.76ms, 10.3MB) |
테스트 8 〉 | 실패 (30.08ms, 10.4MB) |
테스트 9 〉 | 통과 (42.15ms, 10.6MB) |
테스트 10 〉 | 통과 (42.76ms, 10.6MB) |
채점 결과
정확성: 70.0
합계: 70.0 / 100.0
테스트 케이스 추가
def solution(n, results):
arr = [[False] * (n+1) for _ in range(n+1)]
for i, j in results :
arr[i][j] = True
for i in range(1,n+1) :
for j in range(1, n+1) :
for k in range(1,n+1) :
if arr[j][i] and arr[i][k] :
arr[j][k] = True
answer = 0
for i in range(1, n+1) :
cnt = 0
for j in range(1,n+1) :
if arr[i][j] == True or arr[j][i]: cnt += 1
if cnt == n-1 : answer += 1
return answer
정확성 테스트
테스트 1 〉 | 통과 (0.03ms, 10.3MB) |
테스트 2 〉 | 통과 (0.06ms, 10.2MB) |
테스트 3 〉 | 통과 (0.16ms, 10.3MB) |
테스트 4 〉 | 통과 (0.80ms, 10.3MB) |
테스트 5 〉 | 통과 (2.46ms, 10.2MB) |
테스트 6 〉 | 통과 (4.65ms, 10.4MB) |
테스트 7 〉 | 통과 (20.89ms, 10.4MB) |
테스트 8 〉 | 통과 (47.26ms, 10.4MB) |
테스트 9 〉 | 통과 (64.85ms, 10.5MB) |
테스트 10 〉 | 통과 (65.91ms, 10.6MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
'코테' 카테고리의 다른 글
[프로그래머스] <징검다리> 파이썬 (0) | 2021.04.08 |
---|---|
[프로그래머스] <방의 개수> 파이썬 (0) | 2021.04.08 |
[프로그래머스] <행렬의 곱셈> 파이썬 (0) | 2021.04.08 |
[프로그래머스] <핸드폰 번호 가리기> 파이썬 (0) | 2021.04.08 |
[프로그래머스] <예상 대진표> 파이썬 (0) | 2021.04.08 |