목록Nefus/C언어 (4)
공부용 블로그 | seokmin100
처음 프로젝트라는 과제를 받고 어떤 주제를 잡을지 고민했는데 부장 선배가 작년에 미연시를 만들었다는 것을 듣고, 머리속에 한가지 게임이 지나갔습니다. '프린세스 메이커' 이걸 그냥 지나치게 했어야 했는데, 결국엔 프로젝트로 하게 되었습니다. 시작하고 나서 구현해보고 싶었던 여러가지 원작 고증 기능들이 있었는데 시간에 쫓기면서 진행하다 보니 아쉽게 구현 못한 기능들이 있어 개인적으로 아쉬웠던 프로젝트였습니다. 제 프로젝트는 고전게임인 '프린세스 메이커'를 패러디한 게임 'Dev Maker'입니다. 원작에서는 플레이어가 아버지가 되어 프린세스를 키우는 3인칭 게임이지만, Dev Maker는 1인칭 게임으로 본인이 이 게임의 주인공이라면 스케줄을 어떻게 짤지 고민할 수 있도록 만든 게임입니다. 프린세스 메이커..
메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다.또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 메모리 공간1. 코드 영역2. 데이터 영역3. 스택 영역4. 힙 영역 1. 코드(Code) 영역'코드 영역'에서는 프로그램의 코드가 기계어 형태로 저장된다.그리고 저장된 코드는 실행 중간에 코드를 바꿀 수 없게 읽기 전용으로저장되어 있다. 2. 데이터(Data) 영역'데이터 영역'에서는 전역 & 정적 변수가 저장된다.이는 프로그램이 시작될 때 할당되고 프로그램이 종료될 때 소멸된다.- 전역 변수 : 어떤 변수 영역 내에서도 접근할 수 있는 변수를 의미한다.즉, 함수..
제가 어려웠던 2개의 문제는 Baekjoon - 11729, Baekjoon - 24060 입니다. Baekjoon - 11729 이 문제는 하노이탑에 대한 원리를 파악해야하고 원판을 어떤식으로 옮겨야 하는지에 대해서 고민하였고, 이 과정이 생각보다 어려워 추가한 문제입니다. #include void hanoi(int a, int b, int c, int n){ // a=시작지점, b=중간지점, c=마지막지점, n=원판개수 if(n==1){ printf("%d %d\n",a,c); return; } else { hanoi(a,c,b,n-1); printf("%d %d\n",a,c); hanoi(b,a,c,n-1); }}vo..
제가 어려웠던 2개의 문제는 Codeup - 1274, Codeup - 1282 입니다. Codeup - 1274 이 문제는 소수를 어떻게 구해야 할지 고민하다 for문 안에서 직접 출력하려는 뻘짓을 하려다 꼬여서 코드를 완전히 새로 만들어 맞춘 문제입니다. #include int main() { int n,index=0; scanf("%d", &n); for(int i=1;i scanf로 받은 정수를 for문으로 받아서 그 수 만큼 반복합니다.n%i==0으로 반복하다 index=2이면 1와 입력 받은 정수 2개 뿐임으로 소수이기 때문에 prime을 출력하고 아니면 not prime을 출력합니다. Codeup - 1282 이 문제는 제곱수 출력을 위해 어떤식으로 출력을 해야할지 많..