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개의 행으로 구성된다.
마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다. 두개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.
각 숫자 다음에는 빈 줄을 한 줄로 출력한다. 밑은 각 숫자를 출력하는 방식이 나와 있다.
문제 4 풀이 스샷
소스 코드
다른 사람이 푼 것을 보니, 난 참 어렵게 구현했다는 생각 뿐.. ^^
관련 링크 :
http://www.filewiki.net/tc/entry/LCD-Display
http://www.kuku.pe.kr/entry/UVA-706-LCD-Display
http://snippets.dzone.com/posts/show/5244
1차 리팩토링
}
'책 정리 > Programming Challenges : 알고리즘 트래이닝 북' 카테고리의 다른 글
문제 10, 포커 패 (Poker Hands) (191) | 2009.11.06 |
---|---|
문제 9, 유쾌한 점퍼 (Jully Jumpers) (191) | 2009.11.01 |
문제 8, 호주식 투표법 (Australian Voting) (191) | 2009.11.01 |
문제 7 : 체크 확인 - Check the Check (759) | 2009.10.28 |
문제 6 : 인터프리터(Interpreter) (550) | 2009.10.22 |
문제 5 : 그래픽 편집기(Graphical Editor) (358) | 2009.10.13 |
문제 3 : 여행 ( The Trip ) (1) | 2009.02.19 |
문제 2 : 지뢰 찾기(minesweeper) (1) | 2009.02.18 |
문제 1 : 3n + 1 문제 ( The 3n+1 Problem ) (0) | 2009.02.15 |
알고리즘 트레이닝 북 (PROGRAMMING CHALLENGES) (0) | 2009.02.15 |
최근댓글