'2010/05'에 해당되는 글 18건

  1. 2010.05.13 스택만들기
  2. 2010.05.13 LCD 디스플레이
  3. 2010.05.11 여행(The Trip)
  4. 2010.05.11 반올림함수 만들기
  5. 2010.05.11 한국SW업계 액티브엑스 ‘딜레머’
  6. 2010.05.07 국토부, ‘한국판 구글 어스’ 만든다
  7. 2010.05.03 지뢰찾기
  8. 2010.05.03 3n+1
예전에 자료구조 배울때 못해보았던

스택만들기를 해보았다.

스택에 대한 간단한 이해만 있으면 어렵지 않게 만들 수 있는 것 같다.

현재 스택에 위치는 top 변수를 만들어서 사용했고

스택에 크기는 10으로 고정하였다.


맨 위에 3은 View가 3번이라서 그렇다. 스택이 아니다 -_-;;;

요 근래 계속 느끼는건데 c랑 c++에 대한 이해가 부족하다.
기본적인 배열이나 int 나 char나 뭔가가 부족하다. 확실하게 못짚겠다.
기초플러스 한번도 제대로 안봤는데 짬내서 봐야겄다.

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

트리의 배열표현 방법  (0) 2010.05.14
큐 만들기  (0) 2010.05.14
LCD 디스플레이  (0) 2010.05.13
여행(The Trip)  (0) 2010.05.11
지뢰찾기  (0) 2010.05.03
Posted by 아몰라

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

기본적인 문법이나 활용하는면에서 많이 미숙함을 느꼈던 문제

프로그래밍을 많이안해봐서 그런듯하다. 책보단 역시 코딩을 해봐야되는거같다 -_-

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

큐 만들기  (0) 2010.05.14
스택만들기  (0) 2010.05.13
여행(The Trip)  (0) 2010.05.11
지뢰찾기  (0) 2010.05.03
3n+1  (0) 2010.05.03
Posted by 아몰라
일년에 한번 씩 다른 여행지로 여행을 가는 학생 모임이 있다. 이 학생들은 여행 경비를 모두 똑같이 부담하기로 합의했지만 돈을 쓸 때마다 나눠서 내는 것은 별로 실용적이지 못하다. 그래서 한명씩 식비, 호텔비, 택시비, 비행기표를 부담하기로 한다. 여행이 끝난 후에 각 학생이 지출한 내역을 계산한 다음 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 아몰라
국토해양부가 ‘한국판 구글 어스’를 만든다는 목표로 민간에 공간정보를 대대적으로 제공하는 등 공간정보 유통 체계를 전면 혁신한다.
28일 국토해양부는 이 같은 내용을 뼈대로 하는 공간정보 유통 체계 개편안을 발표했다.
국토부는 오픈 API(Open Application Programming Interfce) 방식을 도입한다. API를 개방해 개발자들이 이를 활용한 스마트폰 애플리케이션 등 응용 프로그램을 만들 수 있게 한다. 단순히 정보를 개방하는 것이 아니라 다른 자원과의 융합도 도모한다. 예를 들면 주요 포털 사이트는 국토부의 공간정보를 자사의 관련 서비스와 융합한 비즈니스모델을 만들어 서비스할 수 있다.
국토부는 또 서울·부산·제주 등 9개 지역별로 분산·운영중인 지리정보유통망을 서울 공간정보 센터 중심으로 일원화해 운영 효율성도 높인다.
민간에 지리정보유통망 시스템도 개방한다. 민간기업은 직접 제작한 맛집정보·내비게이션 지도·항공사진 등 공간정보를 정부 유통망을 활용해 판매해 수익을 올릴 수 있다.
정부에서 제공하는 공간정보의 가격은 단계적으로 인하할 계획이며 민간에서 제작한 공간정보는 해당 기업이 자유롭게 가격을 책정할 수 있게 한다.
이는 국내 공간정보 유통체계가 선진국에 비해 낙후해 관련 산업발전의 암초라는 지적에 따른 것이다.
실제로 미국은 지오데이터(geodats)를 캐나다는 지오커넥션즈(GeoConnections)를 유럽은 인스파이어(Inspire)를와 같은 포털 서비스를 마련 공공과 민간이 자유롭게 공간정보에 접근케 해 구글어스와 같은 서비스 창출의 토대를 지원한다.
국토부 관계자는 “다양한 공간정보를 활용한 부가가치를 창출할 수 있는 기반을 제공해 한국에서도 구글, MS 등 외국 대형 포털과 같은 기업을 육성할 계획”이라고 각오를 밝혔다.
정진욱기자 coolj@etnews.co.kr

○ 신문게재일자 : 2010/03/29


Posted by 아몰라

각 칸에는 최대 여덟 개의 인접한 칸이 있을 수 있다. 아래에서 왼족에 있는 4*4지뢰밭에는 두 개가 있으며 각각은 '*'문자로 표시되어 있다. 이 지뢰밭을 방금 설명한 힌트 숫자로 표기하면 오른쪽에 있는 것과 같은 필드가 만들어진다.


입력                  출력
4 4 
*...                   *100
....                    2210
.*..                   1*10
....                    1110




일단 허접한 알고리즘으로 하긴했는데

두가지 문제점이 있다.

1. 해당 값이 * 일 경우 주변 값도 * 이면 *에 +1을 하지 못하도록 하여야한다.

2. 위에서 . * .
         -> . . . 가장 왼쪽에 점의 경우에 그 점이 지뢰라고하면 그 주위에 값들이 +1을 하게 알고리즘이 구성되었는데 저 위치 같은 경우에는 왼쪽에 아무것도 없는 벽이라는것을 표현해줘야한다. 그것이 안되어서 상단 오른쪽에 값이 엉뚱하게 들어가 버린다.


             . * .

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

LCD 디스플레이  (0) 2010.05.13
여행(The Trip)  (0) 2010.05.11
3n+1  (0) 2010.05.03
스케줄링 (라운드 로빈)  (0) 2009.12.17
병합정렬 & 퀵 정렬 비교 및 기수정렬  (0) 2009.12.17
Posted by 아몰라

이러한 알고리즘이 있다.

n= 10 이면

10 ,5, 16, 8, 4, 2, 1    cnt = 7 (사이클길이)

짝수이면 n/2 로 나누고 , 홀수이면 3n+1 로 한다.

이 알고리즘을 적용을하면 결국에 n 은 1에 이르게 된다.

이 가설은 적어도 1000000까지의 정수에 대해서는 참이라고 한다.


이제부터 문제다.

어떠한  두 정수를 입력받는다.

0~1000000까지만 값을 입력받을수 있도록 하고

예를 들어 1 , 10 을 입력받는다 그러면 1 ~10 사이에 대해 최대 사이클 길이를 구하면 된다.

입력예     출력 예
1 10        1 10 20
100 200   100 200 125


먼저 입력 받는 수를 a와 b 라고 하고 a에 대한 알고리즘을 구했고 그 다음에 a+1 에 대한 결과와 비교하고

또 a+1과 계속 비교해가면서 b까지 비교해서 가장 큰 최대사이클을 구하는 방식으로 하였다.

생각보다 알고리즘 문제 재밌는거 같다 ㅋㅋㅋ

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

여행(The Trip)  (0) 2010.05.11
지뢰찾기  (0) 2010.05.03
스케줄링 (라운드 로빈)  (0) 2009.12.17
병합정렬 & 퀵 정렬 비교 및 기수정렬  (0) 2009.12.17
연결리스트더미有  (0) 2009.12.16
Posted by 아몰라
이전버튼 1 2 이전버튼