(1단계) 입출력과 사칙연산 1 - Hello World!를 화면에 출력하는 문제
(1단계) 입출력과 사칙연산 2 - 주어진 예제처럼 출력하는 문제
(1단계) 입출력과 사칙연산 3 - 주어진 예제처럼 출력하는 문제
(1단계) 입출력과 사칙연산 4 - 주어진 예제처럼 출력하는 문제
(1단계) 입출력과 사칙연산 5 - 두 수를 입력받고 합을 출력하는 문제
(1단계) 입출력과 사칙연산 6 - 두 수를 입력받고 뺄셈을 한 결과를 출력하는 문제
(1단계) 입출력과 사칙연산 7 - 곱셈 문제
(1단계) 입출력과 사칙연산 8 - 나눗셈문제
(1단계) 입출력과 사칙연산 9 - 사칙연산
(1단계) 입출력과 사칙연산 10 - 네 개의 계산식을 계산하는 문제
(1단계) 입출력과 사칙연산 11 - 빈 칸에 들어갈 수 구하기
(2단계) if문 1 - 두 수 비교하기
(2단계) if문 2 - 시험 점수를 성적으로 바꾸는 문제
(2단계) if문 3 - 윤년을 판별하는 문제
(2단계) if문 4 - 사분면 고르기
(2단계) if문 5 - 시간 뺄셈 문제
(3단계) for문 1 - 구구단을 출력하는 문제
(3단계) for문 2 - A+B를 여러 번 출력하는 문제
(3단계) for문 3 - 1부터 N까지의 합을 구하는 문제
(3단계) for문 4 - 빠르게 입력받고 출력하는 문제
(3단계) for문 5 - 1부터 N까지 출력하는 문제
(3단계) for문 6 - N부터 1까지 출력하는 문제
(3단계) for문 7 - A+B를 조금 더 아름답게 출력하는 문제
(3단계) for문 8 - A+B를 더 아름답게 출력하는 문제
(3단계) for문 9 - 별을 찍는 문제 1
(3단계) for문 10 - 별을 찍는 문제 2
(3단계) for문 11 - for와 if를 같이 쓰는 문제
(4단계) while문 1 - 0 0이 들어올 때까지 A+B를 출력하는 문제
(4단계) while문 2 - 입력이 끝날 때까지 A+B를 출력하는 문제(EOF 처리)
(4단계) while문 3 - 원래 수로 돌아올 때까지 연산을 반복하는 문제
(5단계) 1차원 배열 1 - 최솟값과 최댓값을 찾는 문제
(5단계) 1차원 배열 2 - 최댓값이 어디에 있는지 찾는 문제
(5단계) 1차원 배열 3 - 각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 만드는 문제
(5단계) 1차원 배열 4 - 각 숫자가 몇 번 나왔는지 저장하기 위해 일차원 배열을 만드는 문제 2
(5단계) 1차원 배열 5 - 평균을 조작하는 문제
(5단계) 1차원 배열 6 - OX 퀴즈의 결과를 일차원 배열로 입력받아 점수를 계산하는 문제
(5단계) 1차원 배열 7 - 일차원 배열을 이용하여 값을 저장하고 평균 및 비율을 계산하여 출력하는 문제
(6단계) 함수 1 - 함수 구현하는 문제
(6단계) 함수 2 - 함수 d를 정의하여 문제 해결하기
(6단계) 함수 3 - X가 한수인지 판별하는 함수를 정의하여 해결하는 문제
(7단계) 문자열 1 - 아스키 코드에 대해 알아보는 문제
(7단계) 문자열 2 - 정수를 문자열로 입력받는 문제
(7단계) 문자열 3 - 한 단어에서 각 알파벳이 처음 등장하는 위치를 찾는 문제
(7단계) 문자열 4 - 각 문자를 반복하여 출력하는 문제
(7단계) 문자열 5 - 주어진 단어에서 가장 많이 사용된 알파벳을 출력하는 문제
(7단계) 문자열 6 - 단어의 개수를 구하는 문제
(7단계) 문자열 7 - 숫자를 뒤집어서 비교하는 문제
(7단계) 문자열 8 - 규칙에 따라 문자에 대응하는 수를 출력하는 문제
(7단계) 문자열 9 - 크로아티아 알파벳의 개수를 세는 문제
(7단계) 문자열 10 - 조건에 맞는 문자열을 찾는 문제
(8단계) 기본 수학(1) 1 - 이익이 발생하는 지점을 찾는 문제
(8단계) 기본 수학(1) 2 - 벌집이 형성되는 규칙에 따라 벌집의 위치를 구하는 문제
(8단계) 기본 수학(1) 3 - 분수의 순서에서 규칙을 찾는 문제
1. 개념 인접한 두 값을 비교하여 정한 조건에 맞지 않는 경우 자리를 교환하며 정렬하는 알고리즘 정렬 할 때 원소가 이동하는 모습이 마치 거품이 위로 올라오는 듯한 모습과 같다는 점에서 착안함 2. 과정 > 오름차순 기준(왼쪽 요소의 값 패스(비교·교환 작업)를 수
💡 용어는 ㄱ-ㅎ 순으로 정렬 1. 분할정복 알고리즘 순환적(recursively)으로 문제를 푸는 하향식(top-down) 접근 방법 주어진 문제의 입력을 더 이상 나눌 수 없을 때까지 두 개 이상의 작은 문제로 순환적으로 분할하고, 분할된 작은 문제들을 각각 해
가장 작은 요소부터 선택해 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘아직 정렬하지 않은 부분에서 최솟값을 선택한다.선택한 값과 아직 정렬하지 않은 부분의 첫 번째 요소를 교환한다.위의 과정을 반복한다.정렬하지 않은 부분에서 최솟값을 선택하는 부분으로, 맨 왼쪽 원
1. 개념 선택한 요소를 그보다 더 앞쪽의 알맞은 위치에 삽입하는 작업을 반복하여 정렬하는 알고리즘 2. 과정 아직 정렬하지 않은 부분에서 첫 번째 요소를 선택한다. 이웃한 왼쪽 요소의 값이 선택한 값보다 크면 왼쪽 요소의 값을 오른쪽으로 옮기고, 이 작업을 선택한
1. 개념 배열을 앞부분과 뒷부분으로 나누어 각각 정렬한 후 병합하는 작업을 반복하여 정렬을 수행하는 알고리즘 전형적인 분할 정복 방법이 적용된 알고리즘 2. 과정 분할 : 배열을 동일한 크기의 두 개의 부분배열(n/2)로 분할한다. 정복 : 각각의 부분배열에 대해
1. 개념 특정 원소(피벗, pivot)를 기준으로 주어진 배열을 두 부분배열로 분할하고, 각 부분배열에 대해서 퀵 정렬을 순환적으로 적용하는 알고리즘 피벗이 제자리를 잡도록 하여 정렬 왼쪽 부분배열의 모든 값 2. 과정 피벗 선정 : 배열 중 기준으로 삼을 원소
1. 개념 힙 자료구조의 장점을 활용한 정렬 최대 힙(heap) 완전 이진 트리 : 삽입할 때 왼쪽부터 차례대로 추가하는 이진 트리 각 노드의 값은 자신의 자식 노드의 값보다 크거나 같음 임의의 값 삽입과 최댓값 삭제가 용이 2. 과정 일반 배열
주어진 데이터 중에서 자신보다 작거나 같은 값을 갖는 데이터의 개수를 계산하여 정렬할 위치를 찾아 정렬하는 방식입력값이 어떤 작은 정수 범위 내에 있다는 것을 알고 있는 경우 적용 가능임의의 값 k보다 작거나 같은 값을 갖는 데이터의 개수를 계산→ 정렬 순서상 k의 마
1. 개념 > 입력값을 자릿수별로 구분해서 부분적으로 비교하여 정렬하는 방식 주어진 데이터의 값을 자릿수별로 나누고, 각 자릿수에 대해 계수 정렬과 같은 안정적인 정렬 알고리즘을 적용하여 정렬 2. 과정 2-1. 자릿수 정렬 수행 2-1-1. LSD(Least Si
정렬된 리스트 형태로 주어진 원소에 대해 탐색 대상의 크기를 절반씩 줄여 가면서 탐색 키를 가진 원소를 찾는 방식리스트는 일차원 배열에 저장된 것으로, 정렬은 오름차순 정렬로 가정배열의 가운데 원소와 탐색 키 key를 비교한다.두 값이 같은 경우 원하는 키를 찾았으므로
1. 개념 > 각 위치(슬롯)마다 주소가 부여되어 있는 저장공간 탐색 키값을 활용하여 해시 테이블의 주소를 계산 → 원하는 데이터를 해시 테이블에서 직접적이고 빠르게 탐색할 수 있음 브루트 포스(완전 탐색)로는 시간초과에 빠지는 경우에 적용 1.1 해싱(hashin
최근의 주변 정점을 우선으로 방문하는 탐색 방법한 정점을 시작으로 매번 인접한 정점 중 한 곳으로 이동하며 탐색함정점을 방문할 때마다 인접한 정점 중 한 곳을 따라 우선 탐색을 진행하다가, 정점이 없어서 더 이상 진행을 할 수 없을 경우 거꾸로 되돌아가면서 아직 탐색하