본문 바로가기

프로그래밍

C++ 코딩 - 이자 계산 - 이자가 0으로 나와요 코드한건데 이자가 추가가안되네요 ㅜㅜ /연산자가 /100한걸 정수단위로 짤라서 그런가하고 더블자료형으로 소수로 이자해봣는데도 안되네요... 왜이자가안나올까요 잘못된 이유는 다음과 같습니다. ○ Virtual 함수 선언 / 사용에 대해서 다시 확인하세요. Virtual은 상속 하는 상위 클래스에 선언합니다. ○ Int형 변수에 10/100을 넣으니 0이 되고, 이 때문에 이자 계산이 0이 됩니다. 수정된 코드는 아래와 같습니다. #include #include using namespace std; const int NAME_LEN = 20; void ShowMenu(void);//메뉴출력 void MakeAccount(void);//계좌생성 void InsertMoney(void);//입금 void Ext.. 더보기
사전 순으로 단어 정렬하기 문제 : 사전순으로 단어를 생성하여 N 번째 올 단어를 찾아라 ● 특정 문자열이 주어지고 이 문자열 안에 포함된 단어들을 사전순으로 정렬하라. 그리고 주어진 N 번째 오는 단어가 무엇인지 구하라. 단, 문자열의 최대 길이는 1,000 이고, 모두 소문자 알파벳으로만 되어 있다.중복되는 단어는 한 단어로 생각한다. 시간제한이 있다. (빠를 수록 점수가 높다, 1초가 넘으면 실패) ● 사전순이란 것은 알파벳 a ~ z 까지 단어를 정렬하는 것을 의미한다. ● 예를 들어, melon 이란 문자열이 주어졌을 때, 7번째 오는 단어를 구하라. melon 안에 포함된 단어를 사전순으로 정렬하면 다음과 같다. 1 : e2 : el3 : elo4 : elon5 : l6 : lo7 : lon8 : m9 : me10 : .. 더보기
인간, 조직, 권련 그리고 어느 SW 엔지니어의 변 인간, 조직, 권력 그리고 어느 SW 엔지니어의 변국내도서>컴퓨터/인터넷저자 : 이종국출판 : 인사이트 2011.03.11상세보기 적나라한 대한민국 S/W의 현실 ● 그동안 S/W 관련된 에세이 혹은 소설 종류는 거의 다 읽은 것 같다. 안철수 교수의 "지금 우리에게 필요한 것은" 부터 임백준 님의 "나는 프로그래머다", "행복한 프로그래밍", "뉴욕의 프로그래머" 같은 에세이, 소설들, 조엘 스폴스키의 그 유명한 Joel on Software 와 그의 책에서 소개하던 다른 S/W 엔지니어링 관련된 책들, "해커와 화가", "데드라인", "프로젝트가 서쪽으로 간 까닭은" 같은 또 다른 저명한 외국인들의 관련 책들까지. 프로그래밍으로 밥을 벌어먹으면서 관련된 책들은 약간의 의무감까지 느끼며 모두 읽었다. .. 더보기
빙고 게임 - 연속되는 숫자 찾기 문제 : 0~9까지의 정수가 10x10 으로 랜덤하게 배열되어 있다. 가로, 세로, 대각선으로 연속되는 숫자의 갯수를 찾아서, 가장 많이 연속되는 숫자를 출력하라. 흔히 "빙고" 게임으로 불리는, 랜덤하게 배열된 숫자에서 연속된 숫자를 체크하는 문제이다. 가로, 세로 외에 대각선이 두 방향이 있다는 점을 주의할 것. c의 이중배열은 배열은 실제로 손으로 숫자를 나열한 경우와 x, y 좌표가 반대이다. 이 부분은 직접 손으로 해보고 신중하게 검토해 볼 것. 아주 잘 헛갈리는 문제이다. #include #include #include #define MAX_NUMBER 10 #define SIZE 10 int test[SIZE][SIZE]; int answerList[MAX_NUMBER]; int getAns.. 더보기
자바스크립트 코딩 기법과 핵심 패턴 JavaScript Patterns - 스토얀 스테파노 / O'REILLY 자바스크립트 코딩 기법과 핵심 패턴 JavaScript Patterns국내도서>컴퓨터/인터넷저자 : 스테얀 스테파노프 / 김준기,변유진역출판 : 인사이트 2011.11.03상세보기 고급 자바스크립트 코딩을 위하여 공부하자!! ● 자바스크립트는 웹 중심으로 S/W의 트렌드가 이동하는 현 시점에서 가장 Hot 한 프로그래밍 언어이다. 그러나 프로그래밍 언어라고 부르기에는 다른 고급한 객체지향 언어에 비하여 아직 다듬어지지 않은 면이 많다. 배워서 시작하기는 쉽지만, 다른 사람이 짠 큰 코드를 분석하거나 숨어있는 버그를 찾는 일은 결코 쉽지 않다. ● 고급한 자바스크립트 개발자로 나아가기 위해서 볼만한 책이 그리 많지 않은데, 마춤한 번역서를 찾았다. 특히 좋은 패턴과 안티 패턴을 각각 보여주면서 코딩의 지혜.. 더보기
C++ Espresso 에스프레소 - 천인국 C++ ESPRESSO국내도서>컴퓨터/인터넷저자 : 천인국출판 : 인피니티북스 2010.11.17상세보기 초보자를 위한, 아주 쉬운 책 회사 업무 중, 주사용 프로그래밍 언어가 C에서 C++로 변경되게 되었다. 학교 졸업 후 C++을 한동안 놓고 있었기에, 복습이 필요한 시점에서 책을 사게 되었다. 이책을 고른 첫번째 이유는 가장 최근에 출간된 C++ 책이기 때문이었다. 저자 천인국 교수는 현직 순천향대학교의 컴퓨터공학과 교수로 계신다. 아마도 이 책은 수업교재로 쓸 것을 염두에 두고 씌여졌을 것이다. 그만큼 이 책은 매우 쉽고, 예제가 간단명료하며, 아주 깔끔하게 똑 떨어지는 느낌이다. 번역에도 큰 무리가 없고, 억지스러운 번역은 보이지 않는다. C와 C++에 이미 익숙한 사람에게는 지나치게 쉬운 책이.. 더보기
객체지향적으로 생각하라 - 맷 와이스펠드 객체지향적으로 생각하라!국내도서>컴퓨터/인터넷저자 : 맷 와이스펠드(Matt Weisfeld) / 배선종역출판 : 정보문화사 2009.05.07상세보기 Object Oriented Programing 을 공부하기 전에 필독할 만한 책 오늘날 프로그래밍의 주류언어로 자바(Java)가 각광을 받으면서, 대부분의 학교에서도 Java를 가르치고 있다. 자바와 C++을 공부하는데 있어서 C의 포인터 만큼이나 넘기 어려운 부분이 있다면, 객체지향(Object Oriented)의 개념을 이해하고, 설계에 적용하는 부분일 것이다. 어떠한 문제를 해결하기 위한 프로그래밍 방법은 수십가지가 있겠지만, 객체지향의 이념을 잘 살려서 우수한 설계와 구현을 하는 것은 결코 쉬운일이 아니다. 특히나 학부 레벨에서 관련된 내용을 배.. 더보기
스크럼 - 켄슈와버, 마이크 비들 스크럼 Scrum국내도서>컴퓨터/인터넷저자 : 켄 슈와버,마이크 비들 / 박일,김기웅 역출판 : 인사이트 2008.10.01상세보기 프로그래밍에서 가장 중요한 것은? 적게는 2~3명, 많게는 300명 이상의 공동작업으로 이루어지는 현재 소프트웨어 프로젝트에서 프로그래밍을 할 때, 가장 중요한 것을 꼽으라면, 단연 "커뮤니케이션 능력" 을 들 것이다. 프로그래밍이란 것이, "언어" 를 이용하여 "창작"을 하는 과정이기 때문에, 일종의 공동 문집을 만들어 나가는 과정이다. 한권의 문집이 군더더기 없는 글의 집합이 되려면 글 한 편 한 편이 올바라야 하지만, 무엇보다 무엇을 위한 문집인지, 어떻게 통일성을 갖는 한 권의 책을 만들어 낼 것인지 의사를 결정하고, 결정된 내용을 모두 함께 따르는 것이 중요하다. .. 더보기
Stack Overflow 사이트 소개 (About Stack Overflow) Stack Overflow는 무료 프로그래밍 Q & A 사이트 입니다. 질문을 올리는 것도 무료이고, 답변을 다는 것도 무료 이고, 글을 읽는 것도 무료, 인덱스를 다는 것도 무료 입니다. 평범하고 전통적인 HTML로 만들어져 있고, 낚시글은 없습니다.(no fake rot13 text on the home page), 쓸데없는 구글 검색에 걸리지 않게하는 기술을 사용하지 않고, 장사꾼도 없고, 질문 당 12.95달러를 요구하는 자바 스크립트 윈도우도 나오지 않습니다. 여러분이 카르마(karma : 지식인의 내공과 비슷한 점수 : 역자 주)를 모으거나 가치있는 명성을 얻어 여러분의 이름 옆에 나타나게 하고 싶다면 사이트에 가입하실 수도 있습니다. 하지만, 그렇지 않다면, 이 사이트는 그냥 무료 입니다. .. 더보기
악역을 맡은 나의 슬픔 새로운 프로젝트가 시작되면서 협력업체의 도움을 받기로 했다. 인력이 부족하다는 판단에서 상부에서 결정한 것이지만, 맨먼스 미신의 신봉자로써, 이번에도 결과는 별로 좋지 않을 것으로 생각된다. 내가 직접 하는 것보다 더 일이 빨리 될 것 같지도 않고, 오히려 커뮤니케이션에 문제만 있을 것 같은데... 위에서 시키는 일이라 어쩔 수는 없다. 사실, 협력업체분이 제대로 준비되지 않은 상태에서 일을 시작하는 것과, 평소에 하던 일을 하던 사람이 투입되서 일을 하는 것은 속도와 효율에 차이가 클 수 밖에 없다. 작업결과에 대한 머지는 결국 내일이 될 것이고... 나중에 정말 급한 문제가 생기면 또 내가 수정하게 될 것이고... 인력을 이런식으로 투입한다고 더 효율이 올라가지 않는 다는건 이미 수없이 많은 프로젝트.. 더보기
성공과 실패를 결정하는 1%의 프로그래밍 원리 프로그래밍 원리(2ND EDITION) 카테고리 컴퓨터/IT 지은이 HISAO YAZAWA (성안당, 2009년) 상세보기 내용이 생각보다 많이 간략하고 단순합니다. 프로그래밍과 컴퓨터공학의 기초적인 내용들을 설명하고 있는데, 어려운 내용들은 일단 많이 생략을 하고 있습니다. 사실, 대학교에서 전공을 하면서 이책을 읽고 새롭게 배운 것이 있다는 것은 공부를 안했다는 뜻일겁니다. 내용 자체는 1학년때 배우는 개론과 전공교양과목에서 다 설명되는 부분입니다. (어셈블리가 커리큘럼에서 빠져서 그부분은 새로왔습니다.) 대학교 1학년을 마치고 이책이 새롭게 다가왔다면 반성하셔야 할겁니다. 그럼에도 불구하고 컴퓨터에 관심이 없는 분이 읽고 뭔가 얻을 수 있을만큼 쉬운 책은 아닙니다. 대학교 1학년 개론서 정도로는 적.. 더보기
DB Table 간의 연동 작업을 어떻게 할 것인가? 지금 진행하는 작업은 세 개의 테이블이 서로 얽히고 섥혀서 돌아가는 어플리케이션이다. 좀더 상세하게는, 특별한 복사본을 갖고있는 두 개의 테이블과, 테이블 간의 관계를 관리하는 테이블 한개를 포함해서 여섯개의 테이블이 맞물려 있다. 특히 어려운 점은, 이 테이블들이 동시에 설계된 것이 아니고 전혀 별개의 기능들을 구현하면서 설계된 테이블인데다 이 기능을 위한 특화된 테이블 들도 아니라는 점이다. 이런 상황에서 문제를 해결하기 위해, 복잡한 알고리즘을 고안하기 보다는, 끊임없이 테이블간의 싱크를 맞추는 방법을 선택했다. 어떤 동작을 할 때 마다, 화면의 갱신이 있을 때 마다 가장 최신의 정보를 모든 테이블이 동일하게 갖을 수 있도록 쿼리를 짰다. DB를 사용하면 편한점이, 일일이 루프를 돌려서 경신할 필요.. 더보기
생존하기는 얼마나 어려운가 : 벤처 회사의 전략 1 (How Hard Could It Be?: Start-up Static) 원문보기 By: Joel Spolsky Published March 2009 새로운 비지니스는 단파 라디오와 같습니다. 여러분은 신호가 잡힐 때까지 인내심을 가지고 주파수를 맞춰야 합니다. 공항 서점의 기업사(business-hagiography) 섹션의 책들 - 아마존(Amazon), 델(Dell), 구글(Google) 그리고 스타벅스(Starbucks)같은 회사들이 다른회사들이 왼쪽(zigged)으로 갈 때 어떻게 오른쪽(Zagging)으로 갔으며 어떻게 그렇게 막대한 수익을 거뒀는지에 관한 이야기들이죠 - 많이 읽다보면 한가지 패턴을 발견하게 됩니다. 이런 책들에 소개되는(profiled) 회사들의 대부분 엄청난 성공을 거둔 케이스이고, 몇몇은 엔론(Enron)같은 종류의 비웃음 거리가 될 정도엄청.. 더보기
왜 제대로 하지 못했을까 문제가 굉장히 심각하다. 맡은 기능을 구현함에 있어서, 요구사항 문서를 명확하게 확인하지 못한게 문제의 시작이었다. 이미 납품된 레퍼런스 폰이 있어서, 문서 분석을 등한시하고 작업을 시작한 것이 일을 크게 만들었다. 문제는, 납품되었던 레퍼런스 폰이 요구사항을 자의적으로 해석해서 잘못 적용한 폰이었다는 것이다. 그걸 따라한 나도 바보가 되어 버렸다. 요구사항 분석은 모든 구현 작업에 선행되어서 꼼꼼하게 진행되어야 함에도 불구하고, 난 가장 기본을 무시하고 진행을 했던 것이다. 프로젝트 시작 몇달 전에 문서를 읽어본 것이 다고, UI 문서는 몇번 더 읽었지만 정작 요구사항 문서가 뭔지, 어떤 의미를 갖는지, 뭐가 더 중요시되야 하는 문서인지 전혀 배경지식도 없이 일을 진행하고 있었다. 이건 시말서를 쓰라고.. 더보기
문제 2. 지뢰 찾기 (Mine sweeper) // Written by rinehart // rinehart@naver.com //2007. 6. 8 /* Note : This code will be better if get map text from file. (I'm lazy...) Maybe, some part of main function need to seperate to another functions */ #include #include #include #define MAP_MAX 100 #define Type_New_map 1 #define Type_Read_map 2 #define Type_Exit 3 int Get_String(char *input_buf, int *m, int *n); int Get_Result(char **map,.. 더보기
씨언어에서 (c++아님) x,y의 좌표가 주어졌을때 각도 구하는 법 x,y의 좌표가 주어졌을때 각도 구하는 코딩 가르쳐주세요!! x, y 좌표를 이용해서 좌표축에 만들어지는 삼각함수를 이용하면 됩니다. 각도를 A 라고 하면, tan(A) = y/x 가 되지요. 반대로, x, y 좌표를 이용해서 각도 A를 구하는 것은 역함수 아크탄젠트를 이용하면 됩니다. 자세한 수학적 이론은 정석의 삼각함수를 찾아보세요. C 언어 라이브러리 중에 math.h 가 있습니다. 삼각함수를 제공합니다. 함수 설명은 http://www.cplusplus.com/reference/clibrary/cmath/atan2.html 여기를 참조하시고요, 예제코드는 아래 있습니다. Example /* atan2 example */ #include #include #define PI 3.14159265 int.. 더보기
[개강공지] Computer Engineering 1st year. Blog just opend and Welcome! 안녕하세요. 컴공과 1학년 블로그 과대표 로엔그린 입니다. 네이버에 본래 블로그를 운영하고 있었으나, 좀더 전문적인 내용으로 바꾸기 위하여 컴퓨터 관련된 내용을 새로운 블로그로 독립하여 운영합니다. 기존 블로그는 본의 아니게 지나치게 정치색(?)을 띠게 되어버렸습니다. 과대표 소개를 간단하게 드리면, 최초로 베이직으로 프로그램을 짠지 한 16년 정도 되었습니다. 컴공과에 입학하여 C언어를 배운지 10년 정도 되었습니다. 그리고, 지금도 프로그램을 만드는 것을 업으로 하고 있습니다. 어떤 개그맨은 "16년 정도 하면 달인이다" 라고 주장합니다만, 아직 짠 프로그램의 수가 5만 6천개가 안되서인지... 아직 달인이라고 부르기는 부끄러울 정도의 수준입니다. 프로가된 지금 돌아보면 항상, "그 때 배울 때 이런.. 더보기