LCD 디스플레이(LCD Display)

PC/UVa ID: 110104/706, 인기도 A, 성공률: 보통, 레벨:1

한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.

입력

입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 한 줄씩 입력된다.
각 줄에는 s와 n이라는 두개의 정수가 들어있으며 n은 출력될 숫자( 0<= n <= 99,999,999 ),
s는 숫자를 표시하는 크기( 1<= s < 10 )를 의미한다.
0 이 두 개 입력된 줄이 있으면 입력이 종료되며 그 줄은 처리되지 않는다.

출력

입력 파일에서 지정한 숫자를 수평 방향은 '-' 기호를, 수직 방향은 '|'를 이용해서
LCD 디스플레이 형태로 출력한다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로
구성된다. 마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다.
두 개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.

각 숫자 다음에는 빈 줄을 한 줄 출력한다. 밑에 있는 출력 예에 각 숫자를 출력하는
방식이 나와있다.

입력 예
2 12345
3 67890
0

출력 예
   __   __        __
|    |    | |  | | 
|    |    | |  | |
   __   __   __   __
| |       |    |    |
| |       |    |    |
   __   __        __


 ___  ___   ___   ___   ___
|        | |   | |   | |   |
|        | |   | |   | |   |
|        | |   | |   | |   |
 ___     |  ___   ___  |   |
|   |    | |   |     | |   |
|   |    | |   |     | |   |
|   |    | |   |     | |   |
 ___        ___   ___   ___

문제풀이

  • [/destine]
  • [/yong27]
  • [/windist]


[windist]와 [yong27]이 이 문제풀기 내기를 했다. [Python]으로 풀고, 누가 더 빨리, 누가 더 가독성좋고, 괜찮은 코드를 만드는가 하는 내기.

일단 빨리푸는것은 windist 승. yong27 이 약 15분정도 더 걸렸다. 누가 더 괜찮은 코드인지는 쉽게 판단이 곤란하므로. ;

AlgorithmQuiz/LcdDisplay (last edited 2011-08-03 11:01:03 by localhost)

web biohackers.net