알고리즘

배수란? 어떤 정수 A에 1, 2, 3, ... 과 같은 자연수를 곱해 만든 수를 A의 배수라고 합니다. 즉, A × 자연수 = A의 배수 예를 들어,3의 배수는?👉 3×1=3, 3×2=6, 3×3=9, …3, 6, 9, 12, 15, ... 이 모두가 3의 배수입니다. 예시숫자배수 예시22, 4, 6, 8, 10, ...55, 10, 15, 20, ...1010, 20, 30, 40, ...❗ 배수는 무한히 많습니다. 계속 곱하기만 하면 되니까요. 특징모든 자연수는 자기 자신이 가장 작은 배수입니다.A의 배수는 A로 나누어 떨어지는 수입니다.A의 배수라면, A는 그 수의 약수가 됩니다.공배수는 두 수의 공통 배수를 의미합니다.최소공배수(LCM)는 가장 작은 공배수를 의미합니다. 약수와 배수의 차..
약수란?어떤 정수 A를 나누어 떨어지게 하는 수 B가 있을 때, B는 A의 약수라고 합니다. 예를 들어,12 ÷ 3 = 4 → 나누어 떨어지죠?👉 따라서 3은 12의 약수입니다. 예시숫자 12의 약수를 모두 구해볼까요?12를 나눴을 때 나머지가 0이 되는 숫자를 찾으면 됩니다:1 (12 ÷ 1 = 12)2 (12 ÷ 2 = 6)3 (12 ÷ 3 = 4)4 (12 ÷ 4 = 3)6 (12 ÷ 6 = 2)12 (12 ÷ 12 = 1)👉 12의 약수 = {1, 2, 3, 4, 6, 12} 특징특징설명1모든 자연수의 약수는 항상 1과 자기 자신이 포함됩니다.짝수2를 약수로 갖습니다.홀수2로 나눠지지 않기 때문에 2는 약수가 아닙니다.소수약수가 1과 자기 자신밖에 없습니다.약수의 개수어떤 수를 소인수분해하..
안녕하세요🖐️ 이번시간에는 정렬 알고리즘 중 하나인 삽입 정렬에 대해 간단히 알아보는 시간을 갖겠습니다~    삽입 정렬 (Insertion Sort)삽입 정렬은 선택 정렬과 버블 정렬처럼 기본적이면서 이해하기 쉬운 정렬 알고리즘 중 하나입니다. 이 알고리즘은 각 단계에서 배열의 요소를 이미 정렬된 부분과 비교하여, 각 요소가 올바른 위치에 삽입될 수 있도록 합니다. 즉, 하나의 요소를 적절한 위치에 삽입하는 과정을 배열의 모든 요소에 대해 반복하여 전체 배열을 정렬합니다. 삽입 정렬의 작동 방식은 다음과 같은 순서로 진행됩니다. (오름차순 기준)배열의 두 번째 요소부터 처리를 시작하며, 이 요소를 "현재 요소"로 간주합니다.현재 요소를 그 이전의 정렬된 배열 부분과 비교합니다. 현재 요소가 이전 요소..
안녕하세요🖐️ 이번시간에는 정렬 알고리즘 중 하나인 선택 정렬에 대해 간단히 알아보는 시간을 갖겠습니다~ 선택 정렬 (Selection Sort) 선택 정렬은 버블 정렬처럼 간단하고 이해하기 쉬운 정렬 알고리즘 중 하나입니다. 주어진 배열을 처리할 때, 이 알고리즘은 전체 배열을 차례대로 탐색하면서 각 단계마다 남아 있는 요소 중 최솟값을 찾습니다(오름차순 정렬 시). 찾은 최솟값을 현재 위치의 값과 바꿔치기하며, 이러한 절차를 배열이 전부 정렬될 때까지 지속적으로 수행합니다. 선택 정렬의 작동방식을 순서대로 나열하면 아래와 같은 과정을 진행합니다. (오름차순) 배열의 첫 번째 위치를 최소값의 위치로 가정합니다. 현재 위치 이후의 배열에서 실제 최소값의 위치를 찾습니다. 현재 위치의 값과 찾은 최솟값의 ..
안녕하세요🖐️ 이번시간에는 정렬 알고리즘 중 하나인 버블 정렬에 대해 간단히 알아보는 시간을 갖겠습니다~ 버블 정렬 (Bubble Sort) 버블 정렬은 정렬 알고리즘 중 가장 이해하기 쉽고 구현하기 간단한 알고리즘입니다. 하나의 배열이 주어졌을 때, 배열의 각 원소를 순차적으로 비교하고, 인접한 원소끼리의 순서가 잘못되어 있으면 서로 위치를 바꿔주는 과정을 반복합니다. 이 과정을 배열의 길이만큼 반복하면서, 각 반복마다 최소 하나의 원소가 최종 위치로 이동합니다. 버블 정렬의 작동방식을 순서대로 나열하면 아래와 같은 과정을 진행합니다. (오름차순) 배열의 첫 번째 원소부터 시작하여 인접한 원소와 비교합니다. 현재 원소가 다음 원소보다 크면, 두 원소의 위치를 바꿉니다. 다음 인접한 원소로 이동하여 같은..
안녕하세요🖐️ 이번시간에는 알고리즘 개념 중 하나인 복잡도에 대해 간단히 알아보는 시간을 갖겠습니다~ 복잡도 복잡도란 알고리즘의 효율성을 평가하는 기준입니다. 복잡도에는 다음과 같은 종류가 있습니다. 시간 복잡도 (Time Complexity) : 실행에 필요한 시간을 평가한 것 공간 복잡도 (Space Complexity) : 기억 영역과 파일 공간이 얼마나 필요한가를 평가한 것 시간 복잡도 (Time Complexity) me Complexity) 시간 복잡도는 알고리즘을 실행하는 데 필요한 시간이 얼마나 되는지를 추상적으로 표현한 것입니다. 이는 주로 입력 크기에 대한 알고리즘의 실행 시간 증가율로 나타냅니다. 시간 복잡도를 분석할 때는 최악의 경우, 평균적인 경우, 최선의 경우 복잡도를 고려할 수..
안녕하세요🖐️ 이번시간에는 기초 알고리즘 중 하나인 반복문에 대해 간단히 알아보는 시간을 갖겠습니다~ 반복문(루프)이란? 프로그램의 흐름을 반복하는 제어문입니다. 반복문의 종류엔 아래와 같이 여러 가지가 있습니다. 아래 반복문들을 차례대로 배워보겠습니다. while do ... while for while문 while문은 주어진 조건이 성립하는 동안 처리를 반복하여 실행합니다. 실행 전에 주어진 조건이 성립하는지 계속 판단하는데, 이런 구조를 사전 판단 반복 구조 라고 부릅니다. 조건이 true면 계속 반복하고, 조건이 false면 반복을 멈추고 끝냅니다. - 실습 예제 - package com.example.practice; public class Practice02 { // 1부터 n까지 반복하는 w..
안녕하세요🖐️ 이번시간에는 기초 알고리즘 중 하나인 조건문에 대해 간단히 알아보려고 합니다~ 조건문이란? 프로그램의 흐름을 제어하는 제어문입니다. 사용자가 19세 이상인 경우만 사용할 수 있게 하고, 19세 미만인 경우는 사용 못하게 하려면 어떻게 해야 할까요? 사용자의 나이를 확인하고, 나이에 따라 처리를 다르게 해야 합니다. 이럴 때 사용할 수 있는 것이 바로 조건문입니다. 조건문의 종류엔 여러 가지가 있습니다. 여기서 진행할 조건문은 if else 문입니다. 가장 많이 사용되는 조건문으로 어떻게 사용되는지 배워보겠습니다. if - else 문 if문은 프로그래밍에서 가장 기본적인 조건문입니다. 조건이 참(true)인지 거짓(false)인지에 따라 다른 코드 블록을 실행하도록 제어합니다. if문은 단..
WooZzing
'알고리즘' 태그의 글 목록