일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백준 27433번
- C
- 해석
- 피라미드 출력
- 백준 5086번
- 백준 2501번
- 백준 2587번
- 백준 1157번
- 자바
- 일상생활 영어표현
- 백준 1269번
- 백준 #11382번 #
- 차이
- Unity
- 직각 삼각형
- 상세 풀이
- 잡다한 일
- Java
- 백준 5597번
- 백준 2525번
- 연속된 숫자의 합
- C++
- 알고리즘
- javascript
- 논리 연산
- 5073번
- html
- 백준 9506번
- 백준 25305번
- 배열
- Today
- Total
목록전체 글 (81)
YunDev

스택(Stack) 은 Last In, First Out (LIFO, 후입선출) 구조를 가지는 자료구조입니다.즉, 가장 마지막에 추가된 데이터가 가장 먼저 제거되는 방식입니다.1. 스택의 개념데이터를 쌓아 올리는 구조로 동작하며, 한쪽 끝에서만 데이터 삽입과 삭제가 이루어짐.후입선출(LIFO, Last In First Out) 구조.주로 함수 호출 스택, 되돌리기(Undo) 기능, 괄호 검사, 경로 탐색(DFS) 등에 사용됨. 배열을 이용한 스택 구현class Stack { private int top; // 스택의 최상위 인덱스 private int maxSize; // 스택의 크기 private int[] stackArray; // 배열을 이용한 스택 // 생성자 public..
이진 검색(Binary Search) 은 정렬된 배열에서 원하는 값을 찾을 때, 중앙 값을 기준으로 탐색 범위를 반으로 줄여가며 찾는 효율적인 알고리즘입니다.배열이 오름차순(또는 내림차순)으로 정렬되어 있어야 사용할 수 있음.배열의 중앙 값과 찾고자 하는 값을 비교하여 왼쪽 또는 오른쪽 반만 검색함.매 단계마다 검색 범위가 절반으로 줄어들므로 시간 복잡도는 O(log n) 으로 매우 빠름.(1) 반복문을 이용한 이진 검색public class BinarySearch { // 반복문을 이용한 이진 검색 public static int binarySearch(int[] arr, int target) { int low = 0; int high = arr.length - 1;..

선형 검색(Linear Search) 은 배열이나 리스트에서 원하는 값을 찾을 때, 처음부터 하나씩 차례대로 비교하면서 탐색하는 알고리즘입니다.배열의 첫 번째 요소부터 마지막 요소까지 차례로 비교하며 찾고자 하는 값과 일치하는지 검사합니다.일치하는 값을 찾으면 해당 인덱스를 반환하고, 찾지 못하면 -1을 반환합니다.정렬되지 않은 배열에서도 사용할 수 있지만, 평균적으로 시간 복잡도가 O(n)으로 비효율적입니다.public class LinearSearch { // 선형 검색 메서드 public static int linearSearch(int[] arr, int target) { for (int i = 0; i 보초법(Sentinel Linear Search)은 선형 검색을 최적..
자바에서 클래스(Class) 는 객체를 생성하기 위한 틀(템플릿)입니다. 클래스는 속성(멤버 변수)과 동작(메서드)을 포함하여 하나의 개체를 정의합니다.// 클래스 선언class 클래스이름 { // 멤버 변수 (필드) 데이터타입 변수명; // 생성자 클래스이름() { // 생성자 코드 } // 메서드 (행동) 반환타입 메서드이름(매개변수) { // 실행할 코드 }} 클래스 예제 코드입니다.// Person 클래스 정의class Person { // 멤버 변수 (속성) String name; int age; // 생성자 Person(String name, int age) { th..

어떤 정수 이하의 소수를 모두 나열하는 알고리즘입니다. 소수의 정의부터 살펴보자면 자신, 1외의 정수로 나누어 떨어지지 않는 정수입니다.public class PrimeNumber { public static void main(String[] args) { int counter = 0; //나눗셈 횟수 측정 for(int n = 2; n 이러한 방식으로 어떤 정수 n이 있을 때 정수 범위 -1까지 나눗셈을 진행하여 소수인지 아닌지 판단해볼 수 있습니다. 여기서 소수를 구하는 알고리즘을 개선해볼 수 있는데 소수를 어떤 방법으로 구할 수 있는지, 더 적은 계산 횟수로 소수를 구할 수 있는 방법이 있는지 살펴보겠습니다. 1.n이 2 또는 3으로 나누어 떨어지지 않으면 2의 배수 ..
정숫값을 임의의 기수로 변환하는 알고리즘입니다. 10진수 정수를 n진수 정수로 변환하려면 정수를 n으로 나눈 나머지를 구하는 동시에 나눈 몫에 대해 0이 될 때 까지 반복해야합니다. 이 과정으로 구한 나머지를 거꾸로 늘어놓은 숫자가 기수로 변환한 숫자입니다. package org.example;import java.util.Scanner;public class RadixConversion { static int conversion(int x, int r, char[] d) { int digit = 0; String dchar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; do{ d[digit++] = dchar...