개인 프로젝트
[WEB] 스도쿠 풀이 프로그램 #4
이전 글에서 python으로 만들었던 스도쿠 풀이 프로그램을 누구나 바로 사용할 수 있도록 html, css, js로 다시 만들어보았다. 간단하게 알고리즘을 설명하자면 입력받은 스도쿠가 해결가능한지 확인한다. 재귀함수로 구현한 백트래킹 알고리즘을 사용해 입력받은 스도쿠의 해를 찾는다. 만약 해가 있다면, 밑에 출력한다. 해를 찾을 수 없다면, 'Unable To solve Sudoku'를 출력한다. 소스코드 참고 - https://github.com/siejwkaodj/sudoku_solver_online Sudoku Solver Made by Hansj 설명 빈 칸에 스도쿠에 적혀있는 1-9 사이의 숫자를 입력하세요. 0을 입력하면 다음 칸으로 넘어갑니다. 파일 업로드는 .csv 또는 .txt파일만 가..
[개인 프로젝트] Python으로 2048 게임 만들기 #2
지난 글에서는 2048 게임을 만들 때 생기는 버그에 대해 알아보았다. https://fclipse.tistory.com/18 [개인 프로젝트] Python으로 2048게임 만들기 # 1 버그 1. - a를 눌러 왼쪽으로 이동시켰는데 합쳐진 4는 사라지고, 그 자리에 2가 랜덤으로 생겨난 상황. - 작업 순서가 잘못된 듯하다. - 그럼에도 score은 제대로 올라감 Sol) - 원래는 4로 합쳐진 다 fclipse.tistory.com 이번 글에서는 2048 게임을 소개하고, 앞으로 최종 목표는 어떻게 될 것인지를 정하겠다. 먼저 이 프로젝트의 최종 목표는 '웹에 2048게임을 호스팅해서 누구나 쉽게 즐길 수 있게 하는 것'이다. 전체 코드는 다음 페이지에 소개되어 있다. https://github.co..
[Python] 스도쿠 풀이 프로그램 #3
저번 글에 이어 이 글에서는 어려운 스도쿠를 풀 수 있는 프로그램을 설명한다. 백트래킹을 이용해 이를 구현했고, 생각보다 정말 간단하게 구현이 되었다. 먼저 사용된 함수는 다음과 같다. def possibilities(i, j): global sudoku exist = [] for k in range(9): if sudoku[k][j] != 0: exist.append(sudoku[k][j]) if sudoku[i][k] != 0: exist.append(sudoku[i][k]) if sudoku[i//3*3 + k//3][j//3*3 + k%3] != 0: exist.append(sudoku[i//3*3 + k//3][j//3*3 + k%3]) unexist = [i for i in range(1, 1..
[Python] 스도쿠 풀이 프로그램 #2
'쉬운' 스도쿠를 풀 수 있는 스도쿠 알고리즘을 알아보자. 먼저 원리는 다음과 같다. 1. 빈칸이 있는 스도쿠를 입력받는다. 2. 숫자가 없는 빈칸(가능성 칸)에 각각 들어갈 수 있는 수들을 채워 준다. 3. 행, 열, 블록(3 * 3 칸) 내에서 각각 가능성 칸에 있는 수가 유일한 수가 있다면 그 4. 이를 반복한다.숫자를 채운다. 이 알고리즘을 사용하면 가정이 필요한 스도쿠 이외의 모든 쉬운 스도쿠를 풀 수 있다. 코드는 다음과 같다. https://github.com/siejwkaodj/Sudoku/blob/second/sudoku_2.py GitHub - siejwkaodj/Sudoku: 스도쿠 풀이 알고리즘 스도쿠 풀이 알고리즘. Contribute to siejwkaodj/Sudoku deve..
[개인 프로젝트] Python으로 2048게임 만들기 # 1
버그 1. - a를 눌러 왼쪽으로 이동시켰는데 합쳐진 4는 사라지고, 그 자리에 2가 랜덤으로 생겨난 상황. - 작업 순서가 잘못된 듯하다. - 그럼에도 score은 제대로 올라감 Sol) - 원래는 4로 합쳐진 다음, 남은 공간 중 하나에 2가 생성되어야 함. 버그 2. - s키를 눌러 22를 합치려 했는데 밑에 4까지 합쳐진 상황 - 마찬가지로 score은 제대로 입력됨. (함수의 중요성) Sol) - 4는 밑으로 이동하고, merge는 한 턴에 한 번만 되도록 해야 함. 밑에 합칠 수 있는 수가 있다고 무조건 내려오면 안 됨. - 해결방법: - 반복 시 merged라는 변수를 추가해 한 번 merge 된 칸은 다시 merge 될 수 없도록 하였음. - 버그 3. - 가만히 있는 숫자 중에서 2가 나..
[Python] 스도쿠 풀이 프로그램 #1
스도쿠는 재미있는 게임이다. 9 * 9 칸 안에서 한 세로줄, 한 가로줄, 한 블록(3*3 칸, 여기서는 '블록'이라는 표현을 쓰겠음) 안에 1부터 9까지의 자연수가 겹치지 않도록 배열하는 규칙 내에서 모든 칸의 수를 채우는 게임이다. 예) 9 1 5 2 5 3 1 4 9 8 2 7 2 5 9 8 4 1 9 5 5 9 2 7 3 1 4 5 9 6 3 6 1 5 9 8 7 5 정답은 아래와 같다. 9 3 6 2 1 8 7 4 5 8 2 4 7 5 3 1 9 6 5 1 7 4 9 6 8 3 2 7 6 2 5 3 1 9 8 4 3 8 1 6 4 9 2 5 7 4 5 9 8 2 7 6 1 3 1 4 5 9 6 2 3 7 8 6 7 3 1 8 5 4 2 9 2 9 8 3 7 4 5 6 1 이와 같이 빈 숫자들을 ..
AI 고카트 프로젝트
2021 1~3분기에 진행한 자율주행자동차 고카트 관련 프로젝트 관련 자료 https://docs.google.com/presentation/d/144NoYEj8JKp7Xl4ne61ku0VEC3JU_nx5QMvnT97njCc/edit?usp=sharing 2022 고카트 제본용 2021 자율주행 고카트 활동 모음집 - OSOF docs.google.com https://docs.google.com/document/d/1J2r7AjHS0hlbt6csHbm3i8Jkc_W-9UbOgE2bfjVJsCA/edit?usp=sharing Teachable Machine을 이용해 자율주행자동차 만들기 Google Teachable Machine을 활용한 사물인식과 아두이노 시리얼 통신을 통한 결과 출력하기 저자 : 한..
다문화가정 지원 프로그램
1. 개요 '대한민국 국민'이라 함은 한국에서 출생하였거나 한국 부모를 두는 등 대한민국 국적을 취득한 사람을 지칭한다. 나는 여기서 외국인 노동자들이나 다문화가정 출신의 사람들이 차별받는 점을 인식하고, 그들에게도 평등한 권리 및 지위가 있다는 점을 알리기 위해 해당 글을 쓴다. 2. 법적 근거 대한민국 헌법을 참고하면 https://www.law.go.kr/lsEfInfoP.do?lsiSeq=61603# 국가법령정보센터 | 법령 > 본문 - 대한민국헌법 대한민국헌법 [시행 1988. 2. 25.] [헌법 제10호, 1987. 10. 29., 전부개정] www.law.go.kr 제1장 총강 제1조 ①대한민국은 민주공화국이다. ②대한민국의 주권은 국민에게 있고, 모든 권력은 국민으로부터 나온다. 제2조 ..