본문 바로가기
PS/BOJ

백준 23334 자바 - Olympic Ranking (BOJ 23334 JAVA)

by Nahwasa 2021. 11. 2.

문제 : https://www.acmicpc.net/problem/23334

코드 : https://github.com/NaHwaSa/BOJ_BaekjunOnlineJudge/blob/master/23300/BOJ_23334.java

 

  브론즈 티어지만 자바 한정으로 시간초과 날 위험이 큰 문제라 남겨봅니다. 자바에 시간 어드밴티지 없이 모든 언어 동일하게 1초 제한인 문제입니다.

 

  이 문제의 경우 일반적으로 생각할 수 있는, 입력받은걸 배열에 넣고 정렬하는 방식으로 하게 되면 시간초과가 날 확률이 있습니다. g,s,b가 최대 999이고, g,s,b 순서대로 비교가 되면 되므로

g*1000000 + s*1000 + b 로 처리를 하게되면 최대 10억-1 이므로 int형으로 한방에 표현 가능합니다.

예를들어 gsb가 각각 22,21,22라면 22,021,022가 됩니다. 그럼 단순히 가장 큰 int 값을 가지는 문자열을 찾으면 되므로, 해싱도 필요없고 그냥 입력받으면서 바로바로 최대값을 찾을 수 있습니다.

댓글