백준 3107 IPv6

김민영·2023년 1월 23일
0

알고리즘

목록 보기
93/125

과정

  • 입력 받은 값의 길이가 8인지, 8이하인지를 확인
  • 8이면 각 항목에 대해 길이가 4가 되도록 앞에 0을 붙임
  • 8이 아니면, 생략된 부분에 빈 문자열을 삽입하고, 각 항목에 대해 길이가 4가 되도록 앞에 0을 붙임
import sys
lst = list(input().split(":"))

def toFourString(lst):
    for i in range(8):
        lst[i] = "0" * (4-len(lst[i])) + lst[i]
    return lst

if len(lst) == 8:
    lst = toFourString(lst)
else:
    for i in range(len(lst)):
        if lst[i] == "":
            new_lst = lst[:i]
            new_lst.extend([""] * (8-len(lst)+1))
            new_lst.extend(lst[i+1:])
            # lst = new_lst
    lst = toFourString(new_lst)


ans = lst[0]
for i in range(1, 8):
    ans += ":" + lst[i]
print(ans)
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글