1 . 순차 탐색(Sequential Search)이란?탐색은 여러 데이터 중에서 원하는 데이터를 찾아내는 것을 의미 데이터가 담겨있는 리스트를 앞에서부터 하나씩 비교해 원하는 데이터를 찾는 방법 ArrayList testData = new ArrayList();for(int i = 0; i 순차탐색 알고리즘import java.util.ArrayList;public class SequencialSearch { public int searchFunc(ArrayList dataList, Integer searchItem) { for(int index = 0; index
Coding Test
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMW1qf%2FbtsJgBXO1h1%2FYIut8lVALs8Piy2PUjLpJ0%2Fimg.png)
https://www.acmicpc.net/problem/11286문제 설명이 문제는 정수들을 입력받아 다음과 같은 두 가지 작업을 수행하는 프로그램을 작성하는 것입니다.정수 입력: 정수 x를 입력받았을 때, x가 0이 아닌 경우 해당 숫자를 우선순위 큐에 추가합니다.0 입력: 만약 0이 입력되면, 현재 큐에 있는 수 중에서 절대값이 가장 작은 수를 출력하고 해당 수를 큐에서 제거합니다. 만약 절대값이 동일한 수가 여러 개 있다면, 그 중에서 가장 작은 수를 출력합니다. 큐가 비어있을 경우에는 0을 출력합니다.public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextI..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMFc4K%2FbtsJg4yq0Bw%2FMnM96WcWlmBDrCCoebMywk%2Fimg.png)
서론Java에서 ArrayList를 사용해 데이터를 처리할 때, 종종 가장 큰 값을 찾고 이를 제거하는 작업을 해야 할 때가 있습니다.간단하게 ArrayList와 Collections를 사용하여 구현할 수 있지만, 큰 데이터셋을 다룰 때 성능 문제가 발생할 수 있습니다.이 글에서는 ArrayList를 사용한 기본 접근 방식과 성능을 개선할 수 있는 방법을 비교해보겠습니다.문제 정의우리는 정수 리스트에서 사용자가 0을 입력할 때마다 현재 리스트에서 가장 큰 값을 출력하고, 그 값을 리스트에서 제거하는 프로그램을 작성하려고 합니다. 사용자가 0이 아닌 값을 입력하면, 리스트에 그 값을 추가합니다. 이 작업을 효율적으로 처리하는 방법을 탐구해보겠습니다. 백준 : 최대 힙 문제 | 11279https://www..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfe2VA%2FbtsI92A86BA%2Fj182pnK6QWD3zQG17FmCJ0%2Fimg.png)
대부분 밑의 출처를 보며 작성한 글입니다 :)계속해서 업데이트 될 예정입니다 :) 출처 - 코딩테스트 [All In One] 강의 (개발남노씨)기초문법변수 및 자료형변수 할당 : variable_name = value 자료형 : int, float, str, list, tuple, dict, set(집합) 조건문if 조건: 코드블록elif 조건: 코드블록else: 코드블록반복문for 요소 in iterable: 코드블록while 조건: 코드블록함수 정의 def 함수이름(매개변수): 코드블록 [return 반환값] # []는 생략가능리스트 조작리스트 생성: list_name = [요소1, 요소2, ...]요소 추가 : list_name.append(요소)요소 삭제: del list_..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnyKdC%2FbtsFnVlxiTS%2FgO2nvarZkfSshplPYFPLZ1%2Fimg.png)
완전탐색 문제 접근 시, 고를 수 있는 값의 종류 파악하기 중복을 허용하는지 순서가 중요한지 Tip int 범위 : -21억 ~ 21억 최솟값, 최댓값 Math.max() Math.min()
Java에서의 자료구조와 알고리즘을 공부하고자 간단한 문제를 풀어봤습니다. 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 이 문제를 처음 풀 때..