AI · 자동화 · 홈페이지 제작 · IT 강의

업무를 자동화하고
수익형 웹 시스템을 만듭니다

코드콕콕은 실무 중심의 IT 강의, AI 사무자동화, 홈페이지 제작, 업무 자동화 외주 상담을 제공하는 기술 블로그입니다.

Code KokKok

배우고, 만들고, 자동화하는 실무형 IT 블로그

AI 사무자동화

엑셀, 문서, PPT, 반복 업무를 자동화합니다.

자세히 보기

홈페이지 제작

회사, 교육원, 상담 사이트를 목적에 맞게 제작합니다.

자세히 보기

IT 실무 강의

HTML, CSS, JavaScript, Python, 자동화 강의를 제공합니다.

강의 보기

최신 글

총 17개의 글

사다리타기
No Image
로또번호 추천
No Image
HTML Canvas로 테트리스 게임 만들기
No Image
우편번호 검색 / 영어 주소
No Image
근무일 계산기 / 근속기간 계산기
No Image

사다리타기

사다리타기 게임 만들기 (JavaScript 구현)

이 예제는 HTML Canvas와 JavaScript를 활용하여 만든 사다리타기 게임입니다. 인원수를 입력하고 결과 항목을 설정하면, 자동으로 사다리가 생성되고 각 참가자의 이동 경로를 애니메이션으로 확인할 수 있습니다.

Canvas 위에 세로선과 가로선을 그리고, JavaScript로 경로를 계산하여 참가자가 어떤 결과에 도착하는지 보여주는 구조입니다.

사다리 설정

Player 1

선물1

사용 방법

  1. 인원수를 입력합니다. 최소 2명부터 최대 10명까지 설정할 수 있습니다.
  2. 사다리 생성 버튼을 누르면 인원수에 맞게 결과 입력칸이 만들어집니다.
  3. 각 입력칸에 선물, 벌칙, 메뉴, 팀 이름 등 원하는 결과를 입력합니다.
  4. 1번부터 시작 버튼을 누르면 1번 참가자부터 순서대로 사다리를 타기 시작합니다.
  5. 각 참가자의 이동 경로가 색상 선으로 표시되고, 도착한 결과가 팝업으로 나타납니다.
  6. 모든 참가자가 완료되면 버튼이 전부 완료 상태로 바뀝니다.

결과를 다시 정하고 싶다면 인원수나 결과 항목을 수정한 뒤 사다리 생성 버튼을 다시 누르면 됩니다.

활용 예시

  • 점심 메뉴 정하기
  • 벌칙 정하기
  • 선물 추첨하기
  • 팀 배정하기
  • 발표 순서 정하기

사다리타기 게임은 단순한 놀이처럼 보이지만, JavaScript의 배열 처리, Canvas 그리기, 이벤트 처리, 애니메이션 로직을 함께 학습할 수 있는 좋은 예제입니다.

웹 개발을 처음 배우는 분들도 이 구조를 따라가면 인터랙티브한 웹 도구를 만드는 흐름을 이해할 수 있습니다.

'IT_Internet > Game' 카테고리의 다른 글

로또번호 추천  (0) 2026.05.01
HTML Canvas로 테트리스 게임 만들기  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

로또번호 추천

로또 번호 추첨기 (JavaScript 구현)

이 프로그램은 JavaScript와 Canvas를 활용하여 만든 로또 번호 추첨기입니다. 공이 회전하며 섞인 후 랜덤으로 6개의 번호가 추출되는 구조로 구현되어 있습니다.

실제 로또 머신처럼 물리 움직임을 적용하여 자연스럽게 번호가 선택되도록 구성하였습니다. 아래 버튼을 눌러 직접 추첨을 실행해보세요.

Lotto 6/45

 

핵심 기능

  • 1 ~ 45번 공 랜덤 생성  1번부터 45번 공을 전부 만들어서 원 안에 넣습니다.
  • for (let i = 1; i <= 45; i++) balls.push(new Ball(i));
    
  • 공의 충돌 및 회전 물리 구현
  • 6개 번호 자동 추출
  • 다시 추첨 기능

이 코드를 활용하면 다양한 랜덤 추첨 프로그램이나 게임 기능으로 확장할 수 있습니다.

로또 당첨은 어떤 사람이 될까?

1. 꿈이 정말 알려줄까?

실제로 당첨자들 사이에서 '꿈'은 가장 흔한 당첨 징조로 꼽힙니다. 당첨자 인터뷰 사례에서 좋은 꿈 이야기가 자주 등장하며, 아래와 같은 유형이 특히 많이 언급됩니다.

  • 조상님 꿈: 가장 대표적인 사례입니다. 조상님이 나타나 밝은 미소를 지으시거나, 숫자를 알려주거나, 보따리를 주시는 꿈이 많습니다.
  • 동물 및 자연 꿈: 돼지 떼가 집으로 들어오는 꿈, 온 세상이 불바다가 되는 꿈, 맑은 물이 집 안에 가득 차는 꿈 등이 자주 언급됩니다.
  • 유명인 꿈: 대통령이나 유명한 연예인과 악수를 하거나 함께 식사를 하는 꿈을 꾸고 당첨된 사례도 있다고 알려져 있습니다.

물론 꿈이 당첨을 보장하는 것은 아닙니다. 다만 기대감과 설렘이 생겼을 때 복권을 구매하게 되는 심리적 계기가 된다는 점에서 흥미로운 현상입니다.

2. 통계로 분석이 가능할까?

로또는 기계에서 공이 무작위로 추출되는 독립 시행입니다. 따라서 엄밀히 말하면 '다음 번호'를 예측하는 수학적 방법은 존재하지 않습니다. 하지만 '기록'으로서의 통계는 존재합니다.

  • 자주 나오는 번호: 특정 회차 동안 유난히 자주 등장한 '핫 넘버(Hot Numbers)'와 오랫동안 나오지 않은 '콜드 넘버(Cold Numbers)'를 조합하는 방식입니다.
  • 번호대별 균형: 1번대, 10번대, 20번대 등 각 구간에서 골고루 번호가 섞여 나오는 비율을 분석합니다.
  • 홀짝 및 총합: 홀수와 짝수의 비율(3:3 또는 2:4), 그리고 여섯 숫자 합계의 평균 범위(보통 120~180 사이)를 참고하기도 합니다.
  • 현실적인 통계: 역대 당첨자들의 통계를 보면, 자동 선택 비중이 수동보다 압도적으로 높습니다(약 60~70%). 결국 통계적 분석보다는 '운'과 '꾸준함'이 더 큰 요인임을 보여줍니다.

3. 당첨된 사람들의 실제 사례

어떤 사람들이 당첨되는지에 대한 흥미로운 특징들입니다.

  • 소액으로 꾸준히: 당첨자들의 상당수는 한꺼번에 수십만 원어치를 사는 사람이 아니라, 매주 5,000원에서 10,000원 정도를 규칙적으로 구매해 온 사람들이라고 합니다.
  • 우연한 구매: 거스름돈으로 샀거나, 평소에 안 가던 길에서 눈에 띄는 판매점에 들어가 샀다가 당첨된 사례가 아주 많습니다.
  • 나눔의 습관: 당첨자 인터뷰 중에는 "평소에 주변에 베푸는 마음으로 살았는데 복을 받은 것 같다"는 이야기가 종종 등장합니다.

로또 역대 최다 빈출 번호 알아볼까요?

역대 로또(1회~1222회)에서 통계적으로 가장 자주 등장한 숫자 상위 6개와 최근 흐름을 반영한 조합의 예시는 다음과 같습니다.

 

📊 역대 최다 빈출 번호 (보너스 번호 포함 기준)

역대 가장 많이 뽑힌 숫자들을 순서대로 나열하면 보통 다음과 같은 번호들이 상위권을 차지합니다. (데이터 집계 시점에 따라 1~2단계 차이는 있을 수 있습니다.)

  1. 43: 압도적인 1위 후보로 자주 등장합니다.
  2. 34: 최근 몇 년간 빈도가 급상승한 번호입니다.
  3. 12: 초창기부터 꾸준히 나오는 번호입니다.
  4. 27: 20번대 중 가장 강력한 통계를 가집니다.
  5. 1: 첫 번째 번호로 자주 등장하는 상징적인 숫자입니다.
  6. 33: 쌍둥이 번호 중 가장 출현 빈도가 높습니다.

🎲 'Hot Numbers' 기반 추천 조합

위의 통계적 빈도와 최근 10회차 이내의 흐름을 섞어서 번호를 구성해 본다면 다음과 같은 조합이 가능합니다.

[ 1, 12, 27, 33, 34, 43 ]

 

'IT_Internet > Game' 카테고리의 다른 글

사다리타기  (0) 2026.05.01
HTML Canvas로 테트리스 게임 만들기  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

HTML Canvas로 테트리스 게임 만들기

HTML5 Canvas로 테트리스 게임 만들기

이 글에서는 JavaScript와 Canvas를 활용하여 테트리스 게임을 구현하는 방법을 설명합니다. 블록 이동, 회전, 충돌 판정, 점수 계산 등 게임의 핵심 로직을 직접 구현할 수 있습니다.

아래 게임을 직접 실행해보면서 동작 원리를 확인해보세요.

Score

0

Level

1

Lines

0

Rotate
← → Move
Soft Drop
Space Hard Drop

GAME OVER

Next Piece

핵심 로직

1. createMatrix()
게임판 배열을 생성하는 함수입니다.
테트리스 게임판은 10칸 × 20줄 구조이며, 각 칸은 0 또는 블록 번호를 저장합니다.
0은 빈 칸을 의미하고, 1~7은 서로 다른 테트리스 블록 색상을 의미합니다.

 

2. drawBoard()
canvas 위에 현재 게임판을 다시 그리는 함수입니다.
먼저 기존 화면을 지우고, 격자선을 그린 다음, 고정된 블록과 현재 떨어지고 있는 블록을 함께 출력합니다.

 

3. collide()
현재 블록이 벽, 바닥, 기존 블록과 충돌했는지 확인합니다.
블록이 이동하거나 회전할 때마다 이 함수를 사용하여 가능한 움직임인지 검사합니다.

 

4. merge()
떨어지던 블록이 더 이상 내려갈 수 없을 때, 해당 블록을 게임판 배열에 고정합니다.
이후 새로운 블록이 생성됩니다.

 

5. sweep()
가로 한 줄이 모두 채워졌는지 검사하고, 채워진 줄을 제거합니다.
줄이 제거되면 점수가 올라가고, 일정 줄 수 이상이 되면 레벨이 증가합니다.

 

6. update()
게임 루프를 담당하는 함수입니다.
requestAnimationFrame()을 이용해 화면을 계속 갱신하고, 일정 시간이 지나면 블록이 자동으로 한 칸씩 내려가도록 처리합니다.

 

테트리스 구현 핵심 정리

테트리스는 2차원 배열을 활용하여 블록의 위치를 관리하며, 충돌 감지와 회전 알고리즘을 통해 동작합니다.

이러한 구조를 이해하면 다양한 게임이나 인터랙티브 웹 기능으로 확장할 수 있습니다.

 

 

'IT_Internet > Game' 카테고리의 다른 글

사다리타기  (0) 2026.05.01
로또번호 추천  (0) 2026.05.01

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

우편번호 검색 / 영어 주소

우편번호 · 주소 찾기 — 카카오 주소 검색 위젯

버튼 하나로 카카오(다음) 주소 검색 팝업을 열고, 선택한 주소의 우편번호·한글주소·영문주소를 자동으로 입력해주는 위젯입니다.
별도 가입이나 API 키 없이 바로 사용할 수 있어 블로그나 웹페이지에 간단하게 삽입할 수 있습니다.

  • 카카오 주소 검색 팝업 — 도로명주소·지번주소 모두 검색 지원
  • 우편번호 자동 입력 — 5자리 신 우편번호(ZIP) 자동 반영
  • 영문주소 자동 입력 — 한글 주소 선택 시 영문주소도 함께 자동 표시
  • 복사 기능 — 한글주소·영문주소 각각 클립보드 복사 가능
  • 초기화 — 입력된 주소·우편번호 한 번에 삭제

우편번호 / 주소 찾기

버튼을 누르면 주소 검색 팝업이 열리고, 선택한 주소가 아래에 자동 입력됩니다.

우편번호
주소
영문주소
 

사용 방법

  1. 주소 / 우편번호 찾기 버튼을 클릭합니다.
  2. 카카오 주소 검색 팝업이 열리면 찾을 주소를 입력하고 검색합니다.
  3. 목록에서 원하는 주소를 클릭하면 우편번호·한글주소·영문주소가 자동으로 입력됩니다.
  4. 한글주소 복사 또는 영문주소 복사 버튼으로 클립보드에 바로 복사할 수 있습니다.
  5. 새로 검색하거나 초기화하려면 지우기 버튼을 누르세요.

주소 형식 안내

항목 설명
우편번호 2015년 도입된 5자리 신 우편번호 (구 6자리와 다름)
도로명주소 도로명 + 건물번호 기반 주소 (예: 테헤란로 427) — 공공기관·택배 법정 표준
지번주소 토지 지번 기반 주소 (예: 역삼동 737)
영문주소 카카오 API가 제공하는 공식 영문 변환 주소 (국제 우편·해외 서류에 활용)

자주 묻는 질문 (FAQ)

Q. API 키나 별도 가입이 필요한가요?

카카오(다음) 우편번호 서비스는 별도 API 키 없이 공개 스크립트를 불러와 사용할 수 있습니다. 단, 카카오 정책에 따라 서비스 내용이 변경될 수 있으니 상업용 대규모 활용 시에는 카카오 API 약관을 별도로 확인하세요.

Q. 도로명주소와 지번주소 중 어떤 것을 선택해야 하나요?

공공기관 서류, 택배, 계약서에는 도로명주소가 법정 표준입니다. 검색 팝업에서 원하는 형식을 직접 선택할 수 있으며, 선택한 형식에 맞춰 영문주소도 함께 표시됩니다.

Q. 영문주소가 비어 있는 경우가 있나요?

일부 지번주소나 특수 지역은 카카오 API에서 영문주소를 제공하지 않을 수 있습니다. 이 경우 영문주소 칸이 비어 있을 수 있으니, 도로명주소로 다시 검색해보세요.

Q. 모바일에서도 사용할 수 있나요?

네. 카카오 우편번호 팝업은 모바일 브라우저에서도 정상 동작합니다. 팝업 대신 별도 레이어로 열릴 수 있으며, 주소 선택 후 자동 입력까지 동일하게 작동합니다.

Q. 복사 버튼이 동작하지 않을 때는 어떻게 하나요?

브라우저의 클립보드 접근 권한이 차단된 경우 복사가 실패할 수 있습니다. 주소 입력칸을 직접 클릭해 텍스트를 드래그 선택 후 복사(Ctrl+C)하는 방법을 사용하세요.

이용 안내
• 주소 데이터는 카카오(다음) 우편번호 서비스(postcode.v2.js)를 통해 제공되며, 데이터 정확성은 카카오 서버 기준입니다.
• 입력된 주소 정보는 브라우저에서만 처리되며 외부 서버로 별도 전송되지 않습니다.
• 복사 기능은 브라우저의 클립보드 접근 권한이 필요하며, 일부 환경에서 권한 요청이 표시될 수 있습니다.

'IT_Internet > Utility' 카테고리의 다른 글

근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09
일당계산기 (아르바이트 급여계산기, 단기 알바 급여계산기)  (0) 2026.02.09
이자계산기  (0) 2026.02.09

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기

근무일 계산기 / 근속기간 계산기

근무일 계산기 — 주말·공휴일 제외 실제 근무일·근속기간 계산

입사일과 퇴사일(또는 기준일)을 입력하면 주말과 공휴일을 제외한 실제 근무일(영업일)을 바로 계산할 수 있습니다.
단순 날짜 차이가 아닌 법정 근속기간(X년 X개월 X일)도 함께 표시되어 인사·급여·경력 정리에 유용합니다.

  • 시작일·종료일 포함 여부 선택 — 입사일·퇴사일 포함/제외를 개별 설정
  • 주말 제외 — 토요일·일요일 자동 제외 옵션
  • 공휴일 제외(KR) — 한국 법정 공휴일 자동 반영 (외부 API 연동, 하루 1회 캐시)
  • 법정 근속기간 — X년 X개월 X일 형태로 자동 계산
  • 결과 복사 — 계산 결과 전체를 텍스트로 복사해 공유 가능
근무일 · 근속기간 계산기
총일수에서 주말/공휴일을 제외해 근무일(영업일)을 계산하고, 법정 근속기간(X년 X개월 X일)을 함께 표시합니다.
시작일 (입사일)
종료일 (퇴사일/기준일)
총 일수
-
주말 제외
-
공휴일 제외
-
근무일(영업일)
-
법정 근속기간
-
 
근무일 = 총일수 − 주말 − 공휴일
 

사용 방법

  1. 시작일(입사일)종료일(퇴사일/기준일)을 입력합니다.
  2. 시작일·종료일 포함 여부를 체크합니다. 기본값은 모두 포함입니다.
  3. 필요에 따라 주말 제외(토/일) 또는 공휴일 제외(KR) 옵션을 선택합니다.
  4. 계산하기를 누르면 총 일수, 주말 제외, 공휴일 제외, 근무일(영업일), 법정 근속기간이 한눈에 표시됩니다.
  5. 시작일과 종료일 순서가 바뀌었다면 시작↔종료 바꾸기 버튼을 활용하세요.
  6. 결과를 저장하거나 공유하려면 결과 복사를 누르세요.

근무일(영업일) 계산 기준

항목 설명
총 일수 시작일~종료일 사이의 달력 기준 전체 일수 (포함 옵션 반영)
주말 제외 토요일(6)·일요일(0) 해당 일수를 제외
공휴일 제외 평일 공휴일만 추가 제외 (주말과 겹치는 공휴일은 주말 제외에 포함)
근무일(영업일) 총 일수 − 주말 − 공휴일(평일 기준)
법정 근속기간 시작일~종료일을 년·월·일 단위로 환산 (연차·퇴직금 산정 등에 활용)

자주 묻는 질문 (FAQ)

Q. 공휴일 제외 옵션은 어떻게 동작하나요?

한국 법정 공휴일 데이터를 외부 API(Nager.Date)에서 가져와 적용합니다. 데이터는 하루 1회 브라우저에 캐시되므로 같은 날 반복 계산할 때는 추가 요청 없이 빠르게 동작합니다. 인터넷 연결이 없으면 공휴일 데이터를 불러올 수 없어 공휴일이 제외되지 않을 수 있습니다.

Q. 시작일 포함/종료일 포함 옵션은 어떤 경우에 쓰나요?

입사 첫날을 근무일에 포함할지, 퇴사일 당일을 포함할지에 따라 선택합니다. 일반적인 근속기간 계산에서는 시작일 포함·종료일 포함이 기본값입니다. 법적 분쟁이나 계약서 기준은 별도로 확인하세요.

Q. 주말과 겹치는 공휴일은 어떻게 처리되나요?

주말 제외 옵션이 켜진 상태에서는 이미 토·일이 제외되므로, 주말에 해당하는 공휴일은 공휴일 제외 수치에 따로 카운트되지 않습니다. 주말 공휴일은 주말 제외로 처리되고, 평일 공휴일만 공휴일 제외로 집계됩니다.

Q. 법정 근속기간은 어떻게 계산되나요?

시작일부터 종료일까지 실제 달력 기준으로 년·월·일을 계산합니다. 연차·퇴직금 산정 등에 활용할 수 있으나, 실제 법적 효력은 관련 법령과 회사 내규를 기준으로 확인하시기 바랍니다.

Q. 기간이 여러 해에 걸쳐 있어도 계산이 되나요?

네. 시작 연도와 종료 연도가 다른 경우 해당 연도의 공휴일 데이터를 각각 불러와 합산합니다. 단, 범위가 매우 길면 API 요청 횟수가 늘어날 수 있습니다.

계산 기준 안내
• 공휴일 데이터는 Nager.Date 공개 API(date.nager.at)를 사용하며, 대체공휴일 포함 여부는 API 데이터 기준을 따릅니다.
• 법정 근속기간은 참고용이며, 실제 연차·퇴직금 산정은 근로기준법 및 회사 내규를 기준으로 확인하세요.
• 입력한 날짜 정보는 브라우저에서만 처리되며 외부로 전송되지 않습니다.

 

'IT_Internet > Utility' 카테고리의 다른 글

우편번호 검색 / 영어 주소  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09
일당계산기 (아르바이트 급여계산기, 단기 알바 급여계산기)  (0) 2026.02.09
이자계산기  (0) 2026.02.09

업무 자동화나 홈페이지 제작이 필요하신가요?

AI 자동화, 엑셀/문서 자동화, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기