본문 바로가기

전체보기

(38)
Javafx를 활용한 육목(Connect6) 만들기 1. UML diagram 2학년 자바 수업 마무리 프로젝트로 간단한 육목 게임을 만들어 보았습니다. 육목의 규칙은 다음과 같습니다. 1) 흑이 먼저 돌 한 개를 착수한다. 2) 백과 흑이 번갈아 가면서 차례로 돌을 두 개씩 착수한다. 3) 같은 색의 돌 6개를 먼저 연속하게 착수하는 쪽이 승리한다. 상기된 룰로만 진행되며 오목에 존재하는 3·3 착수 금지 등 복잡한 룰 없습니다. 그럼에도 양 진영 간에 균형 잡힌 승률을 달성하기 때문에 공개된 정보의 공정한 게임을 대표합니다. 2. Connect6 Class Connect6 클래스를 메인 클래스로 합니다. 중심이 되는 변수는 3개입니다. 어떤 플레이어의 차례인지를 나타내는 char 변수인 whoseTurn가 있습니다. 흑돌의 순번일 때는 ‘B’이고, 백.. 2022. 6. 6. 22:37
Circular Queue in Python global SIZE class Q: def __init__(self, front, rear): self.queue = [None] * SIZE self.front = front self.rear = rear def isQueueFull(self): if self.queue[self.circulate(self.rear)] != None: return True else: return False def enQueue(self, data): if self.isQueueFull(): print("Queue is Full ...") else: self.rear = self.circulate(self.rear) self.queue[self.rear] = data def isQueueEmpty(self): if se.. 2022. 3. 29. 00:00
Example using Stack in Python 1. Stack 클래스 정의 from queue import Empty class ArrayStack: def __init__(self): self._data = [] def __len__(self): return len(self._data) def is_empty(self): return len(self._data) == 0 def push(self, e): self._data.append(e) def pop(self): if self.is_empty(): raise Empty('Stack is empty') return self._data.pop() def top(self): if self.is_empty(): raise Empty('Stack is empty') return self._data[-1.. 2022. 3. 19. 10:37
에라토스테네스의 체 import sys ipt = sys.stdin.readline n = int(ipt()) sieve = [False, False] + [True] * (n-1) for i in range(2, int(n**0.5)+1): if sieve[i]: for j in range(i+i, n+1, i): sieve[j] = False for i in range(n*1): if sieve[i]: print(i, end=' '); 1. 모든 수를 소수라 가정함. 2. 소수가 아닌 수를 지움. * square에 대하여 예민해야 함. * dictionary를 사용하여 푸는 방법도 있음. 2022. 3. 16. 05:50
C#에서 말하기 수열(개미 수열) 구하기 using System;namespace Practice_Page{ class Program { static void Main(string[] args) { while (true) { int[] array = new int[100]; for (int i = 0; i > "); for (int i = 0; i  입력 받은 수열의 개미 수열을 구하는 코드.입력 받은 개행문자를 지우는 법을 몰라 땜빵한 부분이 부끄럽다. 2021. 11. 26. 06:04
값에 의한 호출(call-by-value)과 참조에 의한 호출(call-by-reference) 코딩에서 기초적이면서도 매우 중요한 개념입니다.1. call-by-value#include void swap(int x, int y) { int temp = x; x = y; y = temp;}int main() { int a = 2, b = 3; swap(a, b); printf("a = %d, b = %d\n", a, b); return 0;}  위의 코드는 a와 b의 값을 바꾸어(swap) 출력하는 프로그램을 의도하여 작성한 코드입니다. 즉 a = 3, b = 2라는 출력을 기대한 코드입니다. 하지만 위 코드를 실행시켜 보면 이러한 의도대로 작동되지 않음을 확인할 수 있습니다. 이는 미리 정의한 swap 함수에서 매개 변수가 '값에 의한 호출(call-by-value)'의 원리로 실행되.. 2021. 6. 29. 16:00
21-05-24 1. 행맨 게임 제작 #include #include #include int check(char s[], char a[], char ch); int main(void) { char solution[10][100] = { "in car", "at noon", "a boy" }; // 문제 int nstr = 3; // 문제 개수 char answer[10][100]; // 문제의 빈칸 표시 저장 int k, i, t, ind; char op; // 문제를 빈칸으로 바꾸어 출력 printf("문제:\n"); while (1) { for (k = 0; k < nstr; k++) { strcpy(answer[k], solution[k]); i = 0; while (solution[k][i] != NULL) { .. 2021. 5. 24. 20:00
21-05-18 1. 배열로 평균 구하기 #include int get_average(int scores[], int n); int main() { int scores[5] = { 1, 2, 3, 4, 5 }; int avg; avg = get_average(scores, 5); printf("평균 = %d\n", avg); return 0; } int get_average(int scores[], int n) { int i; int sum = 0; for (i = 0; i < n; i++) { sum += scores[i]; } return sum / n; } 배열의 경우, 사본이 아닌 원본이 전달된다. 즉, 전역 변수와 같은 성질을 갖는다. 2. 선택 정렬 #include #define SIZE 10 int main.. 2021. 5. 18. 02:39