아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

가장 가까운 웹 색 이름

면접 대비

시간 제한2초메모리 제한256 MB

요약
RGB 값을 읽어 유클리드 거리가 가장 가까운 HTML 기본 색상 이름을 출력하고 동점이면 앞 번호를 선택합니다.
난이도

쉬움10점 중 2점

유형
완전 탐색, 수학
정답자
아직 제출이 없습니다

문제

웹 색은 웹 페이지를 표시할 때 쓰는 색이다. 색 하나는 RGB 세 값으로 지정하거나, 그 색을 가리키는 영어 이름으로 지정한다. 색은 빨강, 초록, 파랑 성분의 세기로 정하고 각 성분은 8비트로 나타내므로, 웹 색 하나를 지정하는 데 24비트를 쓰고 웹 색은 모두 16,777,216가지다. 그런데 HTML 4 명세는 아래 표의 16가지 색에만 이름을 붙였다.

임의의 색을 이름이 있는 HTML 색 하나로 대응시키는 일이 자주 필요하다. 이 문제에서는 RGB 공간에서 그 대응을 계산한다.

주어진 색과 가장 가까운 색은 유클리드 거리가 가장 작은 색이다. 대응시킬 색이 (r,g,b)(r, g, b)이고 HTML 색 16가지가 (R1,G1,B1)(R_1, G_1, B_1)부터 (R16,G16,B16)(R_{16}, G_{16}, B_{16})까지일 때, 가장 가까운 색은 다음 값을 최소로 만드는 색이다.

d=(Ri−r)2+(Gi−g)2+(Bi−b)2d = \sqrt{(R_i - r)^2 + (G_i - g)^2 + (B_i - b)^2}

ii는 1 이상 16 이하의 정수다.

번호이름빨강초록파랑
1White255255255
2Silver192192192
3Gray128128128
4Black000
5Red25500
6Maroon12800
7Yellow2552550
8Olive1281280
9Lime02550
10Green01280
11Aqua0255255
12Teal0128128
13Blue00255
14Navy00128
15Fuchsia2550255
16Purple1280128

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 색의 빨강, 초록, 파랑 세기를 나타내는 정수 세 개 rr, gg, bb (0≤r,g,b≤2550 \le r, g, b \le 255)로 주어진다.

입력의 마지막 줄은 -1 -1 -1이고, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 주어진 색과 가장 가까운 HTML 색의 이름을 표에 적힌 대로 한 줄에 출력한다. 가장 가까운 색이 둘 이상이면 표에서 번호가 더 작은 색의 이름을 출력한다.

예제3

  1. 예제 1

    입력
    120 120 10
    111 112 113
    5 135 8
    -1 -1 -1
    
    예상 출력
    Olive
    Gray
    Green
    
  2. 예제 2

    입력
    255 255 255
    192 192 192
    128 128 128
    0 0 0
    255 0 0
    128 0 0
    255 255 0
    128 128 0
    -1 -1 -1
    
    예상 출력
    White
    Silver
    Gray
    Black
    Red
    Maroon
    Yellow
    Olive
    
  3. 예제 3

    입력
    0 255 0
    0 128 0
    0 255 255
    0 128 128
    0 0 255
    0 0 128
    255 0 255
    128 0 128
    -1 -1 -1
    
    예상 출력
    Lime
    Green
    Aqua
    Teal
    Blue
    Navy
    Fuchsia
    Purple