코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

 

구현 문제다. 좀 지저분한 구현 문제네

 

def validchar(c):
    if ord(c) >= ord('a') and ord(c) <= ord('z'):
        return True
    if ord(c) >= ord('0') and ord(c) <= ord('9'):
        return True
    if c == '-' or c == '_' or c == '.':
        return True
    return False

def solution(new_id):
    a = ''
    for c in new_id.lower():
        if validchar(c):
            a += c
            
    while '..' in a:
        a = a.replace('..','.')
        
    if a and a[0] == '.':
        a = a[1:]
    if a and a[-1] == '.':
        a = a[:-1]
    
    if not a:
        a = 'a'
    
    if len(a) >= 16:
        a = a[:15]
    if a[-1] == '.':
        a = a[:-1]
    
    while len(a) <= 2:
        a += a[-1]
    
    return a
    

ㅋㅋ 굵은글씨 친 부분은 편하게 날먹코딩하려고 쓴 부분인데 혹시나 저거땜에 시간복잡도 통과 못할까봐 조마조마 했다 ㅎㅎ.. 다행히 빡센 테스트케이스는 없었던듯.. 효율성 생각하면 저렇게 코딩하면 안된다.

 

이 문제는 정답률 57%로 소위 말하는 '공짜 문제'다. 틀리지 않도록 하자! 문제가 시키는대로만 하면 틀일일이 없지만..

+ Recent posts