2/프로그래머스

프로그래머스 연습 문제 - 불량 사용자

하례은 2020. 10. 9. 19:21

programmers.co.kr/learn/courses/30/lessons/64064

 

코딩테스트 연습 - 불량 사용자

개발팀 내에서 이벤트 개발을 담당하고 있는 무지는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 ��

programmers.co.kr

2019 카카오 개발자 겨울 인턴쉽

 

def solution(user_id, banned_id):
    answer = 0
    ser = []
    

    for i in banned_id:
        tme = []
        for j in user_id:
            count = 0
            if len(i) == len(j):
                for n in range(len(user_id)):
                    if i[n] == j[n]:
                        count +=1
                if count == len(i.replace('*','')):
                    tme.append(j)
        if len(tme) > 0:
            ser.append(tme)

    count = 0
    for i in range(len(ser)):
        for n in range(i+1,len(ser)):
            if len(ser) == 1:
                break
            if ser[i] == ser[n]:
                answer += 1
                del ser[i]
                del ser[i]
            else:
                for x in range(len(ser[i])):
                    if len(ser[i]) == len(ser[n]):
                        if ser[i][x] == ser[n][x]:
                            count += 1
    
    if answer == 0:
        answer = 1
    
    for i in range(len(ser)):
        answer *= len(ser[i])

    answer -= count
                
    return answer

채점 결과

정확성: 0.0

합계: 0.0 / 100.0

 

에라이 막장이다 ㄱ-.. 런타임으로 전부타 오류...ㅋㅋ.ㅋ. 카카오는 뭔가 수학적인 문제가 많은 것 같아서 이것도 경우의 수를 이용해서 풀려했는데...예외인 경우가 넘 많아서 각 banned_id와 일치하는 user_id list를 구하는 코드보다 중복을 걸러내거나 하는 코드가 더 길어졌다.... 정규화는 아직 손도 못대는 수준이라 다른 정규화 풀이를 봐도 어렵당..

그런데..어쩌피 위에서도 런타임 오류가 났기 때문에... 틀린 문제풀이..

 

생각해보니 제귀가 있었다... 내일안으로 다시풀어서 올리기..!!