'2010/05/11'에 해당되는 글 3건

  1. 2010.05.11 여행(The Trip)
  2. 2010.05.11 반올림함수 만들기
  3. 2010.05.11 한국SW업계 액티브엑스 ‘딜레머’
일년에 한번 씩 다른 여행지로 여행을 가는 학생 모임이 있다. 이 학생들은 여행 경비를 모두 똑같이 부담하기로 합의했지만 돈을 쓸 때마다 나눠서 내는 것은 별로 실용적이지 못하다. 그래서 한명씩 식비, 호텔비, 택시비, 비행기표를 부담하기로 한다. 여행이 끝난 후에 각 학생이 지출한 내역을 계산한 다음 1센트 단위 내에서 모든 학생들이 쓴 돈이 같도록 돈을 주고 받는다. 하지만 이전 여행의 경험에 비추어보면 돈을 주고 받는 과정은 정말 지루하고 오랜 시간을 요하는 작업이었다. 지출 내역이 주어졌을 때 모든 학생이 쓴 돈이(1센트 단위 내에서)똑같아지기위해 전달되어야 하는 최소 액수를 구해보자.

각 여행에 대해 각 학생이 사용한 금액이 똑같아지기 위해 전달되어야 하는 금액의 총합을 출력한다.

입력                      출력
3                           10.00
10.00                      12.00
20.00
30.00
4
15.00
15.01
3.00
3.01



재밌는 문제였던거같다. 처음에는 엄청 간단해보였는데 문제를 잘못이해해서 아주 쉽게 생각했었다.
이 문제의 해결은 학생들의 평균을 구해서 그 값보다 큰 것들을 모두 더하면 금액이 같아지기위해서 이동하는 돈의 총액이 된다. 가장 문제였던게 계산후에 자리수를 맞추기위해 반올림을 할려고 했는데 c랑 c++에서는 반올림 함수를 제공해주지 않는걸 몰라서 찾는데 시간이 좀 걸린것같다.

'프로그래밍 기초 > 자료구조 & 알고리즘' 카테고리의 다른 글

스택만들기  (0) 2010.05.13
LCD 디스플레이  (0) 2010.05.13
지뢰찾기  (0) 2010.05.03
3n+1  (0) 2010.05.03
스케줄링 (라운드 로빈)  (0) 2009.12.17
Posted by 아몰라

C++에서 제공해주지 않는 반올림 함수를 만들어보자~

1.첫번째

double round( double value, int pos )

{

      double temp;

      temp = value * pow( 10, pos );  // 원하는 소수점 자리수만큼 10의 누승을 함

      temp = floor( temp + 0.5 );          // 0.5를 더한후 버림하면 반올림이 됨

      temp *= pow( 10, -pos );           // 다시 원래 소수점 자리수로

      return temp;

}
 

2.두번째

double Round(double x, int n)
{
       int i;
       // 자릿수맞춤
       for ( i = 0; i < n; ++i )
             x *= 10;
       if ( x - (int)x >= 0.5 )
             // 소수점이하부분이0.5보다크거나같으면올림
             x = ceil(x);
       else
             // 작으면버림
             x = floor(x);           
       // 자릿수복구
       for ( i = 0; i < n; ++i )
             x /= 10;

'프로그래밍 기초 > C++' 카테고리의 다른 글

가상함수테이블  (0) 2010.03.04
다형성  (0) 2010.03.04
This 포인터  (0) 2010.01.24
템플릿이란!?  (0) 2009.11.20
Posted by 아몰라

인터넷 게임기업 N사. 이 회사는 유럽과 북미로 서비스를 확대하던 중 때아닌 복병을 만났다. 인터넷익스플로러(IE) 사용자가 많은 국내와 달리 유럽과 북미 사용자들은 사파리, 크롬 등 다양한 브라우저를 사용하고 있었기 때문이다. 액티브엑스(Active X) 기반의 인터넷 게임서비스만 해왔던 이 회사는 해외 진출을 위해 웹표준을 준수한 서비스를 새로 개발했다. 똑같은 게임을 서비스하는데 개발 비용과 시간만 2배 이상 허비했다. 이 때문에 이젠 개발초기부터 웹표준을 지켜기로 했다.
 
 국내 SW업체들이 액티브엑스 딜레머에 빠졌다.
 국내 웹서비스 98% 이상이 액티브엑스로 개발됐지만, 해외의 다양한 웹브라우저랑 호환이 안돼 번번이 퇴짜를 맞고 있기 때문이다. 수출을 위해 어쩔 수 없이 프로그램을 뒤집어 재개발하려 하지만 개발자가 없어 벽에 부딪힌다. 재개발해 수출해도 추가 개발 비용을 빼면 수익도 형편없는 수준이다.
 10일 웹 표준화 시민단체인 오픈웹 조사에 따르면 액티브엑스에 98% 이상 의존하는 국산 보안 솔루션의 대부분이 북미와 유럽 등 선진국 시장에 수출하지 못했다. 액티브엑스 기반으로 구축된 전자정부 서비스는 개발도상국 IT지원 일환으로 필리핀, 베트남, 파나마 등에 구축됐지만 선진국 진출 사례가 거의 없는 것으로 조사됐다.
 최진영 고려대 컴퓨터통신공학부 교수는 “미국이나 해외에서 SW개발자 파견 요청이 있어도 국내 개발자들은 진출하지 못한다”며 “가장 손쉬운 소프트웨어인 웹페이지나 웹서비스 개발자들이 수출 시장에 준비되지 않았다”고 지적했다. 최 교수는 “액티브엑스의 가장 큰 폐해는 다양한 브라우저를 사용할 수 없는 게 아니라 우리 개발자들이 수출용 웹서비스 개발에 참여하지 못하는 것”이라며 “국내 제도가 소프트웨어 수출을 막고 있다”고 강조했다.
 액티브엑스는 한국에서만 쓰이는 ‘주홍글씨’다. 세계에서 가장 이용이 활발한 전자결제 사이트인 페이팔이나 뱅크오브아메리카는 액티브엑스 없이 모든 브라우저에서 구현된다. 액티브엑스는 웹표준을 지키지 않은데다 악성코드 배포에 이용되기 때문에 마이크로소프트조차 쓰지 말라고 권하고 있을 정도다. 엑티브엑스 기반 국내 웹서비스가 아이폰 등 스마트폰에서 호환되지 않으면서 한국이 스마트폰 서비스에서 ‘갈라파고스 섬’으로 전락했다는 비판도 높다.
 특히 국내에서 액티브엑스에 치중한 웹 개발이 난무하면서 웹표준 서비스를 구현할 수 있는 개발자를 찾는 것은 하늘에 별 따기가 됐다. 대부분 개발자들이 당장 수요가 많은 액티브엑스 개발에 집중, 웹표준 교육을 받지 못했기 때문이다.
 김현승 한국기술비전 사장은 “국내 웹 서비스 회사나 개인 개발자가 해외 웹 개발 프로젝트에 참여하는 경우는 거의 없다”며 “최근 공공기관을 중심으로 웹표준 준수 움직임이 일고 있지만 웹표준 개발 가이드가 없어 개발에 어려움을 겪는 등 액티브엑스로 인한 SW생태계 악순환이 멈추지 않고 있다”고 말했다.
  김인순기자 insoon@etnews.co.kr

○ 신문게재일자 : 2010/05/11

웹 표준의 중요성을 깨닫게 해주는 기사~ㅋㅋㅋ

Posted by 아몰라
이전버튼 1 이전버튼