IPv6은 길이가 128비트인 차세대 인터넷 프로토콜이다.
IPv6 주소는 32자리 16진수를 4자리씩 나누어 적는다. 이때 각 그룹은 콜론(:)으로 구분한다.
예를 들어 다음과 같다.
32자리 16진수는 사람이 읽고 쓰기 불편하고, 대부분의 자리가 0인 경우가 많으므로 아래 규칙으로 축약할 수 있다.
- 각 그룹의 앞쪽에 있는 0은 일부 또는 전부를 생략할 수 있다. 위 주소는 다음처럼 축약할 수 있다.
- 0으로만 이루어진 그룹이 있다면, 그중 1개 이상 연속된 그룹 하나를 골라 콜론 두 개(
::)로 바꿀 수 있다.
두 번째 규칙은 모호함을 막기 위해 한 번만 사용할 수 있다.
올바른 축약형 IPv6 주소가 주어졌을 때, 이를 4자리 16진수 8개 그룹으로 이루어진 원래 형태로 복원해 출력하는 프로그램을 작성하시오.