쉽게 생각했다. 실제로 그냥 워밍업으로만 생각하고 문제를 풀어나갔다.
쉬울 줄 알았으니까
거만함이 하늘에 차 있었다.
너무나도 당황스러웠다.
2시간이 걸렸다.
어이가 없었다.
하지만 당황하지 않고... 아이패드를 켜고 다시 생각을 정리하며 set을 이용하고 이차원배열을 이용해 문제를 풀었다...
쉽지 않았다...
문제 풀이는 생각해보면 뭐 없다.
Array [1, 2, 3, 3, 3, 4] -> Set(Array) [1, 2, 3, 4] -> 개수 세기 [[1, 1], [2, 1], [3, 3], [4, 1]] -> 개수 많은 순대로 정렬하기 [[3, 3], [1, 1], [2, 1], [4, 1]] -> 정렬한 리스트를 통하여 리스트가 1개이면 1개의 값 출력 // 리스트가 2개이상이고 리스트 2개의 값이 같으면 -1 // 리스트 1,2번째가 다르면 맨 첫번째걸 출력해주는 것이다.
def solution(array):
answerList=[]
max_cnt=0
n=0
setList=list(set(array))
for i in setList:
if max_cnt < array.count(i):
max_cnt = array.count(i)
answerList.append([i,array.count(i)])
print(answerList)
answerList.sort(key=lambda x:-x[1])
print(answerList)
print(len(answerList))
if len(answerList) < 2:
return answerList[0][0]
elif len(answerList) >= 1 and answerList[0][1] == answerList[1][1]:
return -1
elif answerList[0][1] != answerList[1][1]:
return answerList[0][0]
쉽지 않은 입문이다;;