블로그는 귀차니즘

First Sensation
  • 공지
  • 지역로그
  • 태그
  • 방명록

Algorithm Traning Book - 세 번째 문제

Algorithm 2008/06/10 23:42 귀차니스트
  금방 풀어봤던 한 문제는 The Trip(여행)이라는 문제입니다. 이 것도 초반 문제다 보니 별로 어렵지는 않네요. 대략적인 문제의 개요는 여행을 가는데 여러명이 사용하는 경비를 각자 내려니 너무 귀찮다는거죠. 그리하여 각 사람마다 여행경비, 숙박비 등을 지불하게 되는데 이게 또 그냥 넘어가면 껄쩍지근 하잖습니까?^^ 그래서 돈을 나중에 서로 교환을 하여 서로 지불액수를 맞추게 됩니다.
  여기서 포인트는 액수를 맞추기 위하여 이동하는 돈의 개수를 센트까지 세어라 입니다. 물론 입력은 달러 단위로 받게 되구요. 일단 입력과 출력 예제를 보겠습니다.

입력:
3
10.00
20.00
30.00
4
15.00
15.01
3.00
3.01

출력:
$10.00
$11.99

TheTrip.cpp (Language : cpp)
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6.     int CntInput = 0;
  7.     double CostList[1000] = {0.00,};
  8.  
  9.     do{
  10.         double Average = 0.00;
  11.         double MoveCost = 0.00;
  12.  
  13.         std::cin >> CntInput;
  14.  
  15.         for( int i = 0; i < CntInput; ++i ) {
  16.            
  17.             std::cin >> CostList[i];
  18.             Average += CostList[i];
  19.         }
  20.  
  21.         if( CntInput != 0 ) {
  22.        
  23.             Average /= static_cast<double>(CntInput);
  24.             double DiffCost = 0.00;
  25.            
  26.             for( int i = 0; i < CntInput; ++i ) {
  27.    
  28.                 DiffCost = Average - CostList[i];
  29.                 MoveCost += ( DiffCost > 0.00 ? DiffCost : 0.00 );
  30.             }
  31.  
  32.             std::cout.precision(2);
  33.             std::cout << std::fixed << '$' << std::floor(MoveCost * 100) / 100 << std::endl;
  34.         }
  35.  
  36.     }while( CntInput != 0 );
  37.  
  38.     return 0;
  39. }

  이 문제도 사실 어렵지 않기 때문에 대충대충 해서 풀었습니다. 한 가지 숫자의 정밀도 출력으로 인해서 11.99가 출력되어야할 시점에 12가 출력될 수 있기 떄문에 센트까지만 이라는 힌트를 참조하여 * 100을 한 다음 / 100을 하여 내림을 시켜버리면 문제없이 출력이 됩니다.
  다음 문제도 계속 풀어봐야 겠군요^^.
 
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"Algorithm" 분류의 다른 글

Algorithm Traning Book - 다섯번째 문제 (0)2008/06/15
Algorithm Traning Book - 두 번째 문제 (0)2008/06/09
3n+1 Problem (0)2008/02/17
The Blocks Problem (0)2008/02/17
Maximum Sum (0)2008/02/17
2008/06/10 23:42 2008/06/10 23:42
TAG 알고리즘 트레이닝
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/76

댓글을 달아 주세요

◀ 이전페이지 1 ... 40 41 42 43 44 45 46 47 48 ... 118 다음페이지 ▶

블로그 이미지
First Sensation 귀차니스트
rss
  • 관리자
  • 글쓰기

카테고리

  • 전체 (118)
    • Computer (3)
    • Language (14)
    • Reverse Engineering (1)
    • Algorithm (9)
    • TopCoder (3)
    • Library (2)
    • Programming (21)
    • Programming Tip (9)
    • PSP-Programming (10)
    • Program (5)
    • Small Talk (33)
    • Document (4)
    • OS Develope (4)

최근에 올라온 글

  • Script Interpreter - b....
  • VirtualHttpServer - 가.... (2)
  • 음.. 여러가지 일이 있.... (2)
  • 어후.. 드디어 인터럽트....
  • Kernel Image에 어이없....

최근에 달린 댓글

  • 헠 ㅋ 다음에도 들러주세용 ㅋㅋ. 귀차니스트 03/09
  • ㅎㅎ RSS로 첨 온 글이네.ㅋ. 당구리 02/22
  • 음.. 한글화 파일 0.5 버젼은.... 귀차니스트 02/22
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 01/30
  • 어떤 의미이신지 잘 모르겠네.... 귀차니스트 01/23

달력

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

링크

  • kkamagui 프로그래밍 세상.
  • runner님의 이글루.
  • 당구리의 마굿간.
  • 동우fly.
  • 류광의 번역 이야기.
  • 서광열의 프로그래밍 언....
  • 준호씨의 블로그.
  • 최익필의 이름없는 블로그.
  • 위키는 귀차니즘.

최근에 받은 트랙백

  • 한게임 테트리스 인공지.... 고니's Life 2009
  • ACM 706 (Uva ID) : LCD.... 알고리즘 트레이닝 : Oh... 2009
  • 문제 4 : LCD 디스플레.... 최익필의 이름없는 블로그 2009
  • 궁극의 예외처리. 이름없는 블로그 2008
  • Maximum sum. 티스토리 지점 2008

글 보관함

  • 2010/03 (1)
  • 2010/02 (1)
  • 2010/01 (1)
  • 2009/12 (3)
  • 2009/08 (1)

태그목록

  • 보안
  • HTTP
  • tr1
  • OS
  • ICPC
  • 공백
  • Secure
  • Interpreter
  • auto_ptr
  • Directive
  • Linefeed
  • 인코딩
  • 관악기
  • GDI
  • 병렬처리
  • GUI
  • std::auto_ptr
  • 참조
  • multimap
  • 오보에
  • Return
  • iterator_traits
  • ATL
  • .Net
  • COM
  • boost::shared_ptr
  • Xtream Toolkit Pro
  • 라이브러리
  • DP
  • 인터프리터

지역로그 : 태그 : 방명록 : 관리자 : 글쓰기
귀차니스트’s Blog is powered by Textcube 1.7.5 : Risoluto / Designed by DesignNia.net