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

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

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

Code KokKok

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

AI 사무자동화

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

자세히 보기

홈페이지 제작

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

자세히 보기

IT 실무 강의

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

강의 보기

최신 글

총 41개의 글

자바 - 조건문1(if문)
No Image
자바 기본 변수
No Image
사다리타기
No Image
로또번호 추천
No Image
HTML Canvas로 테트리스 게임 만들기
No Image
이미지 용량 줄이기
No Image
빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리
No Image
우편번호 검색 / 영어 주소
No Image
근무일 계산기 / 근속기간 계산기
No Image
D-Day 계산기
No Image

자바 - 조건문1(if문)

Java if문 예제 정리 - 짝수 홀수, 합격 불합격, 교체법, 최대값 최소값

이번 글에서는 Java의 if문을 이용한 기본 예제를 정리합니다. 짝수와 홀수 판별, 평균 점수로 합격 여부 판단, 두 변수의 값 교환, 최대값과 최소값 구하기, 그리고 Scanner를 이용한 입력 처리까지 실습합니다.

if문은 조건에 따라 실행할 문장을 선택하는 제어문입니다. 조건식의 결과가 true이면 if문이 실행되고, false이면 else문이 실행됩니다.

1. 짝수와 홀수 판별하기

정수 변수 a의 값을 2로 나누었을 때 나머지가 0이면 짝수입니다. 그렇지 않으면 홀수입니다.
package a20260506;

public class iftest1 {

    // 어떤 숫자를 입력받아서 그 수가 짝수이면 "짝수",
    // 아니면 "홀수", 마지막에 "끝" 출력

    public static void main(String[] args) {

        int a = 10;

        if (a % 2 == 0)
            System.out.println("짝수");
        else
            System.out.println("홀수");

        System.out.println("끝");
    }
}
실행 결과
짝수

2. 평균 점수로 합격 / 불합격 판단하기

국어, 영어, 수학 점수의 평균을 구한 뒤 평균이 60점 이상이면 합격, 그렇지 않으면 불합격을 출력합니다.
package a20260506;

public class iftest2 {

    // kor=90, eng=80, mat=30
    // 평균을 구하여 평균 60점 이상이면 "합격", 아니면 "불합격"

    public static void main(String[] args) {

        int kor, eng, mat;
        double avg;

        kor = 90;
        eng = 80;
        mat = 30;

        avg = (kor + eng + mat) / 3.;

        System.out.printf("평균=%f\t", avg);

        if (avg >= 60)
            System.out.println("합격");
        else
            System.out.println("불합격");
    }
}
실행 결과
평균=66.666667    합격
TIP
/ 3.처럼 소수점을 붙이면 실수 계산이 됩니다. 따라서 평균값을 소수점까지 정확하게 구할 수 있습니다.

3. 두 변수의 값 교환하기

두 변수의 값을 서로 바꾸려면 임시 변수 temp가 필요합니다. 이 방법을 교체법이라고 합니다.
package a20260506;

// 교체법 암기 a=10, b=20

public class iftest3 {

    public static void main(String[] args) {

        int a, b, temp;

        a = 10;
        b = 20;

        System.out.println("a=" + a + ",b=" + b);

        temp = a;
        a = b;
        b = temp;

        System.out.println("a=" + a + ",b=" + b);
    }
}
실행 결과
a=10,b=20
a=20,b=10

4. 가장 큰 수와 가장 작은 수 구하기

변수 maxmin에 처음 값을 저장한 뒤, 다른 값들과 비교하면서 최대값과 최소값을 찾습니다.
package a20260506;

// 가장 큰 수, 가장 작은 수

public class iftest4 {

    public static void main(String[] args) {

        int max, min;
        int a = 90, b = 50, c = 10;

        max = min = a;

        if (b > max)
            max = b;

        if (c > max)
            max = c;

        System.out.println("최대값=" + max);

        if (b < min)
            min = b;

        if (c < min)
            min = c;

        System.out.println("최소값=" + min);
    }
}
실행 결과
최대값=90
최소값=10

5. 5과목 평균과 과락 조건으로 합격 판단하기

Scanner를 이용하여 5과목 점수를 입력받습니다. 평균이 60점 이상이고 모든 과목이 40점 이상이면 합격입니다. 하나라도 조건을 만족하지 못하면 불합격입니다.
package a20260506;

import java.util.Scanner;

// 5과목의 평균이 60 이상이고 모든 과목이 40 이상이라야 "합격"
// 그 외는 "불합격"

public class iftest5 {

    public static void main(String[] args) {

        int a, b, c, d, e;
        double avg;

        Scanner sc = new Scanner(System.in);

        System.out.println("5과목을 순서대로 입력하세요");

        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        d = sc.nextInt();
        e = sc.nextInt();

        avg = (a + b + c + d + e) / 5.;

        if (avg >= 60 && a >= 40 && b >= 40 && c >= 40 && d >= 40 && e >= 40)
            System.out.println("합격");
        else
            System.out.println("불합격");
    }
}
실행 예시
5과목을 순서대로 입력하세요
90 80 70 60 50
합격
TIP
&&는 AND 연산자입니다. 연결된 조건이 모두 true일 때만 전체 조건이 true가 됩니다.

마무리 정리

이번 예제에서는 Java의 if문을 이용하여 조건에 따라 다른 결과를 출력하는 방법을 연습했습니다.

  • ifelse를 사용하면 조건에 따라 실행 흐름을 나눌 수 있습니다.
  • % 연산자는 나머지를 구할 때 사용하며 짝수와 홀수 판별에 활용됩니다.
  • && 연산자는 여러 조건을 모두 만족해야 할 때 사용합니다.
  • 두 변수의 값을 바꿀 때는 임시 변수 temp를 사용할 수 있습니다.
  • 최대값과 최소값은 기준값을 정한 뒤 비교하면서 구할 수 있습니다.
반응형

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

Java의 사용자 정의 함수  (0) 2026.05.18
반복문-while  (0) 2026.05.08
반복문-for  (0) 2026.05.08
자바-조건문2(switch-case)  (0) 2026.05.07
자바 기본 변수  (0) 2026.05.07

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

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

상담 신청하기

자바 기본 변수

자바 기초 실습 예제 정리

이번 글에서는 자바 기초 과정에서 가장 먼저 배우는 출력문, 변수, 자료형, 산술연산자, 비교연산자, 논리연산자, 형변환을 예제 코드와 실행 결과를 통해 정리합니다.

자바 프로그램은 보통 class 안에 작성되며, 프로그램 실행은 main() 함수에서 시작됩니다.

1. Hello 예제 - 문자열 출력

가장 기본적인 자바 프로그램입니다. System.out.println()은 화면에 내용을 출력하고 줄바꿈을 합니다.
public class Hello {

    // 메모리에는 정적메모리, 동적메모리가 있다.
    // 정적메모리에 main() 함수가 저장된다.
    // void는 리턴값이 없다는 의미이다.

    public static void main(String[] args) {
        System.out.println("안녕");
    }
}
실행 결과
안녕

2. 변수와 자료형

변수는 데이터를 저장하는 공간입니다. 자바에서는 변수에 저장할 값의 종류에 따라 자료형을 지정해야 합니다.
package a20260506;

public class test1 {

    public static void main(String[] args) {

        int a;
        a = 10;

        double b;
        b = 10.5;

        char c;
        c = 'k';

        boolean d;
        d = true;

        String e = "korea";
    }
}
설명
int는 정수, double은 실수, char는 문자 한 글자, boolean은 참/거짓, String은 문자열을 저장할 때 사용합니다.

3. 산술 연산자

산술 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 계산을 할 때 사용합니다.
package a20260506;

public class test2 {

    public static void main(String[] args) {

        int a, b, c, d, e, f, g;

        a = 10;
        b = 3;

        c = a + b;
        d = a - b;
        e = a * b;
        f = a / b;
        g = a % b;

        System.out.println(a + "+" + b + "=" + c);
        System.out.println(a + "-" + b + "=" + d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
    }
}
실행 결과
10+3=13
10-3=7
30
3
1

4. 비교 연산자와 논리 연산자

비교 연산자는 두 값을 비교하여 결과를 true 또는 false로 반환합니다. 논리 연산자는 여러 조건을 연결할 때 사용합니다.
package a20260506;

public class test3 {

    public static void main(String[] args) {

        int a = 10, b = 3;
        boolean t;

        t = a >= b;
        System.out.println(t);

        t = (a + 3) != 3;
        System.out.println(t);

        t = a * b == b + 3;
        System.out.println(t);

        t = (a > 3) && !(b > 3) || (a < b);
        System.out.println(t);
    }
}
실행 결과
true
true
false
true

5. 누적 계산 기초

변수의 값을 증가시키고, 그 값을 다른 변수에 누적하는 기본 예제입니다. 반복문을 배우기 전 누적 개념을 이해할 때 좋습니다.
package a20260506;

public class test4 {

    public static void main(String[] args) {

        int a = 0, hap = 0;

        a = a + 1;
        hap = hap + a;

        System.out.println(a + "," + hap);
    }
}
실행 결과
1,1

6. 비트 반전 연산자

~ 연산자는 비트 값을 반전합니다. 음수 표현과 2의 보수 개념을 이해할 때 사용하는 예제입니다.
package a20260506;

public class test5 {

    public static void main(String[] args) {

        int a = -90;

        System.out.println(~a);
        System.out.println(~a + 1);
    }
}
실행 결과
89
90

7. 삼항 연산자

삼항 연산자는 조건에 따라 서로 다른 값을 선택할 때 사용합니다. 형식은 조건 ? 참일 때 값 : 거짓일 때 값입니다.
package a20260506;

public class test6 {

    public static void main(String[] args) {

        int kor = 60;

        boolean max = (kor > 60) ? true : false;
        String maxi = (kor >= 60) ? "합격" : "불합격";

        System.out.println(max);
        System.out.println(maxi);
    }
}
실행 결과
false
합격

8. 가장 큰 값 구하기

삼항 연산자를 이용하여 세 개의 정수 중 가장 큰 값을 구하는 예제입니다.
package a20260506;

public class test7 {

    public static void main(String[] args) {

        int a = 100, b = 70, c = 50, max;

        max = (a > b) ? a : b;
        max = (max > c) ? max : c;

        System.out.println(max);
    }
}
실행 결과
100

9. 형변환

형변환은 자료형을 다른 자료형으로 바꾸는 것입니다. 큰 자료형에서 작은 자료형으로 바꿀 때는 명시적 형변환이 필요합니다.
package a20260506;

public class test8 {

    public static void main(String[] args) {

        int num = (int) 3.5;
        double sum = 5;

        System.out.println(num);
        System.out.println(sum);
    }
}
실행 결과
3
5.0

마무리 정리

이번 예제에서는 자바의 가장 기본이 되는 문법을 실습했습니다. 출력문, 변수, 자료형, 연산자, 삼항 연산자, 형변환은 앞으로 조건문과 반복문, 함수, 객체지향 문법을 배우기 위한 기초가 됩니다.
반응형

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

Java의 사용자 정의 함수  (0) 2026.05.18
반복문-while  (0) 2026.05.08
반복문-for  (0) 2026.05.08
자바-조건문2(switch-case)  (0) 2026.05.07
자바 - 조건문1(if문)  (0) 2026.05.07

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

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

상담 신청하기

사다리타기

사다리타기 게임 만들기 (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 강의 상담을 도와드립니다.

상담 신청하기

이미지 용량 줄이기

이미지 용량 줄이기 · 배경 투명 변환기 — 브라우저에서 바로 처리

이미지 파일을 선택하거나 드래그&드롭하면 용량 압축·포맷 변환·배경 투명 처리를 브라우저에서 바로 실행합니다.
이미지가 서버로 전송되지 않아 개인 사진이나 업무 자료도 안심하고 사용할 수 있습니다.

  • 용량 압축 — 최대 크기(px)와 품질(%) 조절로 파일 크기 대폭 감소
  • 포맷 변환 — WEBP · JPG · PNG 세 가지 포맷으로 자유롭게 변환
  • 배경 투명 처리 — 단색 배경을 지정 색상·오차 범위로 제거해 투명 PNG/WEBP 생성
  • 다중 파일 지원 — 여러 이미지를 한 번에 선택해 일괄 변환
  • 드래그&드롭 — 파일 탐색기에서 직접 끌어다 놓기 가능
  • 완전 로컬 처리 — 이미지가 외부 서버로 전송되지 않아 개인정보 안전

이미지 용량 줄이기 , 배경 투명

이미지는 서버로 업로드되지 않고, 내 브라우저에서만 변환됩니다.

여기로 이미지를 드래그&드롭해도 됩니다.
파일 원본 결과 절감 다운로드

사용 방법

  1. 파일 선택 버튼으로 이미지를 고르거나, 드래그&드롭 영역에 파일을 끌어다 놓습니다.
  2. 최대 크기(px)를 설정합니다. 가로·세로 중 긴 쪽이 이 값을 넘지 않도록 자동 축소됩니다.
  3. 품질(%) 슬라이더로 압축 강도를 조절합니다. 낮을수록 용량이 작아지고 화질이 떨어집니다.
  4. 저장할 포맷(WEBP·JPG·PNG)을 선택합니다. 가장 작은 용량을 원한다면 WEBP를 추천합니다.
  5. 배경을 투명하게 만들고 싶다면 배경 투명 체크 후 제거할 색상과 오차 범위를 설정합니다.
  6. 변환 시작을 누르면 결과 표에 원본·결과 용량·절감량이 표시되고 다운로드 버튼이 나타납니다.

포맷별 특징 비교

포맷 특징 추천 용도
WEBP JPG 대비 30~40% 더 작은 용량, 투명 지원 블로그·웹사이트 이미지 최적화
JPG 범용 포맷, 투명 미지원, 호환성 최고 사진·일반 이미지 공유
PNG 무손실 압축, 투명 지원, 용량 큰 편 로고·아이콘·투명 배경 이미지

자주 묻는 질문 (FAQ)

Q. 이미지가 서버로 업로드되나요?

아니요. 모든 변환은 내 브라우저의 Canvas API에서 처리됩니다. 파일이 외부 서버로 전송되지 않으므로 개인 사진이나 업무 문서 이미지도 안심하고 사용할 수 있습니다.

Q. 품질(%)을 얼마로 설정하는 게 좋나요?

일반적으로 75~85%가 화질과 용량의 균형이 좋습니다. SNS·블로그용이라면 80% 전후, 인쇄용처럼 화질이 중요하다면 90% 이상을 권장합니다. 30% 이하로 낮추면 눈에 띄게 화질이 저하될 수 있습니다.

Q. 배경 투명 처리가 잘 안 되는 경우가 있나요?

배경이 단색이 아닌 그라데이션이나 복잡한 패턴인 경우 완전히 제거되지 않을 수 있습니다. 이럴 때는 오차 슬라이더를 조금씩 높여보세요. 단, 오차가 너무 크면 배경과 색이 비슷한 피사체 부분도 함께 투명해질 수 있습니다.

Q. 배경 투명 처리 시 JPG를 선택할 수 없는 이유는 무엇인가요?

JPG 포맷은 투명(알파 채널)을 지원하지 않습니다. 배경 투명 옵션을 켜면 JPG 선택이 자동으로 비활성화되며, 투명을 지원하는 WEBP 또는 PNG로 변환됩니다.

Q. 변환 후 용량이 오히려 커지는 경우가 있나요?

네. 원본이 이미 고도로 압축된 JPG라면 PNG나 높은 품질 설정으로 변환 시 용량이 늘어날 수 있습니다. 이 경우 WEBP 포맷과 품질을 낮춰보거나, 원본 파일을 그대로 사용하는 것이 나을 수 있습니다.

이용 안내
• 모든 이미지 처리는 브라우저 내 Canvas API를 사용하며, 파일이 외부로 전송되지 않습니다.
• 브라우저 또는 이미지 포맷에 따라 WEBP 변환이 지원되지 않을 수 있습니다(구형 브라우저 제외).
• 배경 투명 처리는 단색 계열 배경에 적합하며, 복잡한 배경은 전문 이미지 편집 도구를 권장합니다.
반응형

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

빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리  (0) 2026.02.09
우편번호 검색 / 영어 주소  (0) 2026.02.09
근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09

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

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

상담 신청하기

빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리

빈 줄 제거기 — 공백 줄 · 숨겨진 특수 문자 자동 정리

텍스트를 붙여넣으면 불필요한 빈 줄(공백 줄)을 자동으로 제거하고, 눈에 보이지 않는 제로폭 공백 같은 숨겨진 특수 문자까지 함께 정리해주는 도구입니다.
블로그 글 편집, 문서 정리, 코드 클린업 등 빈 줄이 많아진 텍스트를 빠르게 다듬을 때 유용합니다.

  • 빈 줄 자동 제거 — 연속된 빈 줄·공백만 있는 줄을 한 번에 정리
  • 제로폭 공백 제거 — 눈에 보이지 않는 Zero-width 특수 문자(U+200B 등) 자동 삭제
  • 실시간 자동 변환 — 체크 옵션으로 입력 즉시 결과 반영
  • 결과 복사 — 변환된 텍스트를 클립보드에 바로 복사
  • 전체 삭제 — 입력·출력 칸을 한 번에 초기화
빈 줄 · 숨겨진 문자 제거기
빈 줄(공백 줄)과 제로폭 공백 등 숨겨진 특수 문자를 자동으로 제거합니다.
변환할 텍스트
변환 결과


사용 방법

  1. 왼쪽 변환할 텍스트 칸에 정리할 텍스트를 붙여넣습니다(Ctrl+V).
  2. 자동 변환 체크가 켜져 있으면 입력 즉시 오른쪽 변환 결과 칸에 결과가 나타납니다.
  3. 복사 버튼을 누르면 변환된 텍스트가 클립보드에 복사됩니다(Ctrl+C로도 가능).
  4. 다시 시작하려면 삭제 버튼으로 입력·출력 칸을 모두 초기화하세요.

제거되는 항목

항목 설명
빈 줄 / 공백만 있는 줄 줄바꿈 사이에 내용 없이 비어 있거나 공백·탭만 있는 줄을 한 줄로 압축
제로폭 공백 (Zero-width space) U+200B~U+200D, U+FEFF 등 눈에 보이지 않지만 텍스트에 섞여 있는 숨겨진 문자

자주 묻는 질문 (FAQ)

Q. 빈 줄이 여러 개 연속으로 있을 때 모두 없어지나요?

네. 연속된 빈 줄은 모두 제거되어 단락 사이 줄바꿈이 딱 하나만 남습니다. 예를 들어 빈 줄이 3개 연속이면 줄바꿈 1개로 합쳐집니다.

Q. 제로폭 공백(Zero-width space)이란 무엇인가요?

화면에 보이지 않지만 텍스트 안에 숨어 있는 특수 문자입니다. 카카오톡, 웹페이지, 일부 편집기에서 복사한 텍스트에 자주 섞여 있으며, 검색·정렬·저장 오류의 원인이 되기도 합니다. 이 도구는 해당 문자를 자동으로 감지해 제거합니다.

Q. 자동 변환을 끄면 어떻게 되나요?

자동 변환 체크를 해제하면 텍스트를 입력해도 즉시 반영되지 않습니다. 붙여넣기 후 내용을 직접 수정하거나 확인한 뒤, 원하는 시점에 체크를 켜서 변환할 수 있습니다.

Q. 원본 텍스트는 변경되나요?

아니요. 왼쪽 변환할 텍스트 칸의 원본은 그대로 유지되고, 오른쪽 변환 결과 칸에만 정리된 텍스트가 표시됩니다. 원본과 결과를 나란히 비교할 수 있습니다.

이용 안내
• 입력한 텍스트는 브라우저에서만 처리되며 외부 서버로 전송되지 않습니다.
• 제로폭 공백 외 다른 특수 문자(줄바꿈 종류 등)는 제거 대상이 아닙니다.
• 복사 기능은 브라우저 클립보드 권한이 필요하며, 실패 시 결과 칸을 직접 드래그해 복사(Ctrl+C)하세요.
반응형

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

이미지 용량 줄이기  (0) 2026.02.09
우편번호 검색 / 영어 주소  (0) 2026.02.09
근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (0) 2026.02.09
급여 계산기  (0) 2026.02.09

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

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
빈 줄 제거기 - 공백 줄 · 숨겨진 문자 자동 정리  (0) 2026.02.09
근무일 계산기 / 근속기간 계산기  (0) 2026.02.09
D-Day 계산기  (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 데이터 기준을 따릅니다.
• 법정 근속기간은 참고용이며, 실제 연차·퇴직금 산정은 근로기준법 및 회사 내규를 기준으로 확인하세요.
• 입력한 날짜 정보는 브라우저에서만 처리되며 외부로 전송되지 않습니다.

 

반응형

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

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

상담 신청하기

D-Day 계산기

D-Day 계산기 — 무료 온라인 날짜 계산

시험일, 여행 출발일, 기념일까지 D-Day가 얼마나 남았는지 바로 계산해 보세요.
날짜를 입력하고 계산하기 버튼 하나만 누르면 됩니다. 설치나 로그인 없이 무료로 사용할 수 있습니다.

  • D-Day 모드 — 특정 날짜까지 남은 일수 또는 지난 일수 표시
  • 두 날짜 차이 — 시작일·종료일 사이의 정확한 일수 계산
  • 기념일 모드 — 100일·200일·1주년·2주년 등 주요 기념일 날짜 일괄 확인
D-Day 계산기
특정 날짜까지 남은 일수(D-n), 지난 일수(+n일), 두 날짜 차이, 기념일(100일·1주년)을 계산합니다.
기준 날짜
-
-
시작일
종료일
-
-
기준일 (만난 날 등)
 
 

사용 방법

  1. 상단 탭에서 원하는 계산 모드를 선택합니다.
  2. 날짜 입력란을 클릭해 날짜를 선택하거나, 오늘 버튼으로 오늘 날짜를 바로 입력합니다.
  3. 계산하기 버튼을 누르면 결과가 즉시 표시됩니다.
  4. 결과를 공유하려면 결과 복사 버튼으로 클립보드에 복사하세요.

모드별 기능 안내

모드 설명 활용 예시
D-Day 목표 날짜까지 남은 일수(D-n) 또는 지난 일수(+n일) 표시 수능, 시험일, 여행 출발일, 마감일
두 날짜 차이 시작일과 종료일 사이의 총 일수 계산 재직 기간, 프로젝트 기간, 입원 일수
기념일 기준일로부터 100일·200일·300일·1주년·2주년 날짜 일괄 계산 커플 기념일, 입사일, 반려동물 생일

자주 묻는 질문 (FAQ)

Q. D-Day 계산은 당일을 포함하나요?

오늘 날짜를 선택하면 D-Day로 표시됩니다. 내일은 D-1, 어제는 +1일로 계산되며, 당일 자정 기준으로 처리됩니다.

Q. 두 날짜 차이 모드에서 시작일과 종료일을 잘못 입력했어요.

바꾸기 버튼을 누르면 두 날짜를 즉시 교체할 수 있습니다.

Q. 기념일 모드에서 계산되는 기념일은 어떤 것들인가요?

100일, 200일, 300일, 365일(1주년), 500일, 730일(2주년), 1000일을 자동으로 계산해 날짜와 D-Day를 함께 표시합니다.

Q. 계산 결과를 저장하거나 공유할 수 있나요?

결과 복사 버튼을 누르면 세 가지 모드의 결과를 텍스트로 클립보드에 복사합니다. 메모장이나 메신저에 바로 붙여 넣을 수 있습니다.

이 도구는 브라우저에서만 동작하며 입력한 날짜 정보는 외부로 전송되지 않습니다.

반응형

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

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

상담 신청하기