[Java] 순위


[Java] 순위

문제 접근법 해당 문제는 2시간 정도 고민해보았지만, 도저히 감을 잡지 못했었다. 너무 당연하다고 생각할 수 있지만, 2시간 동안 고민하면서 알아낸 사실은 다음 세 가지 였다. 1등은 '승'만 있고, 패배는 없다. 꼴등은 '패'만 있고, 승리는 없다. 만약 특정 숫자의 "승 + 패"의 합이 n -1 이라면 해당 숫자의 위치를 알 수 있다. 사실 3번 사실이 문제를 풀기위한 핵심 Key 였는데, 고민해볼 당시에는 그걸 알지 못하고 넘어갔다. 왜냐하면 그때는 위의 인풋을 표로 만들어 보았을때, '2' 만 n-1으로 알 수 있다고 생각해서이고, 나머지 케이스인 '5'는 알 수 없다고 생각해서이다. 승 패 1 2 2 5 1, 3, 4 3 2 4 4 3, 2 5 2 이때 사용하는 알고리즘이 플로이드 와샬 알고리즘이다. 플로이드 와샬 알고리즘은 경로의 최단 거리를 구하는 알고리즘으로, 중간에 다른 정점을 거치는 경우를 모두 고려하여, 두 정점 사이의 최단 경로를 찾는 것이다. 갑자기 최단거리 ...



원문링크 : [Java] 순위