๐Ÿ“š Study/Baekjoon

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv1 | 2021 KAKAO BLIND RECUITMENT | ์‹ ๊ทœ ์•„์ด๋”” ์ถ”๊ฐ€

์œฐ๊ฐฑ 2026. 4. 4. 20:59

https://school.programmers.co.kr/learn/courses/30/lessons/72410

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

 

gpt๊ฐ€ ๊ณ ์ณ์ค€ ๋‚˜์˜ ํ’€์ด

def solution(new_id):
    # step1
    new_id = new_id.lower()
    
    # step2
    new_id = "".join(
        s for s in new_id if s.islower() or s.isdigit() or s in "-_."
    )
    
    # step3
    while '..' in new_id:
        new_id = new_id.replace('..', '.')
    
    # step4
    new_id = new_id.strip('.')
    
    # step5
    if new_id == '':
        new_id = 'a'
    
    # step6
    if len(new_id) >= 16:
        new_id = new_id[:15]
        new_id = new_id.rstrip('.')
    
    # step7
    if len(new_id) <= 2:
        new_id += new_id[-1] * (3 - len(new_id))
    
    return new_id

 

๋‚ด ๊ธฐ์กด ํ’€์ด.. ๋ฌธ์ž์—ด ๊ธฐ๋ณธ ํ•จ์ˆ˜๋„ ๊นŒ๋จน์€๊ฒŒ ๋งŽ๊ณ  ํ•ด์„œ ๋ณต์Šต๊ฒธ ๊ดœ์ฐฎ์•˜๋‹ค

def solution(new_id):
    # step1
    new_id = new_id.lower()
    
    # step2
    new_id = "".join(
        s for s in new_id if s.islower() or s.isdigit() or s in ['-','_','.']
    )
    
    # step3
    num_dot = new_id.count('.')
    for i in range(num_dot,1,-1):
        dot = '.'*i
        new_id = new_id.replace(dot,".")
    
    # step4
    if new_id.startswith('.'): new_id = new_id[1:]
    if new_id.endswith('.'): new_id = new_id[:-1]
    
    # step5
    if new_id == '': new_id += 'a'
    
    # step6
    if len(new_id) >= 16:
        new_id = new_id[:15]
    if new_id.endswith('.'): new_id = new_id[:-1]
    
    # step7
    if len(new_id) <= 2:
        new_id += new_id[-1] * (3-len(new_id))
    
    return new_id