PTA 배열과 정렬, 탐색 문제 풀이 및 핵심 알고리즘 설명
함수형 문제풀이
6-1 2차원 배열에서 최댓값과 그 위치 찾기
이 문제는 이중 반복문을 통해 2차원 배열 전체를 순회하며 최댓값과 해당 인덱스를 추적하는 기본적인 탐색 문제다. 전역 변수 Row와 Col에 최댓값의 위치를 저장해야 하며, 초기값 설정 시 주의가 필요하다.
int fun(int arr[4][M]) {
int maxVal = arr[0][0];
Row = 0; Col = 0;
for (int i = 0; ...
6월 28일 23:45에 게시됨
Java List 컬렉션 주요 操作 가이드
Java List는 Java 컬렉션 프레임워크에서 가장 빈번하게 사용되는 인터페이스 중 하나이다. 본 문서에서는 List의 다양한 操作 방법을 상세히 설명한다.
1. 기본 데이터 타입 List 정렬
간단한 문자열 또는 Integer 같은 기본 타입의 List는 Collections.sort() 메서드를 사용하여 쉽게 정렬할 수 있다.
import java.util.ArrayList;
import java.util.Collections;
import ...
6월 27일 05:09에 게시됨
C++에서의 STL 알고리즘 활용과 핵심 패턴
비수정형 시퀀스 알고리즘
이러한 알고리즘은 컨테이너 내 요소를 변경하지 않고 조작합니다. 주로 탐색, 카운팅, 조건 검사에 사용됩니다.
요소 탐색: find 계열 함수
std::find: 지정된 값과 일치하는 첫 번째 요소를 반환합니다.
std::find_if: 조건을 만족하는 첫 번째 요소를 찾습니다.
std::find_end: 특정 하위 시퀀스가 마지막으로 나타나는 위치를 반환합 ...
6월 24일 20:32에 게시됨
최대 열정 팀 구성 알고리즘
문제 설명
n명의 참가자가 각각 능력치와 열정도를 가지고 있을 때, 팀 내 최대와 최소 능력치 차이가 주어진 X 이하인 조건에서 팀 전체 열정도의 합을 최대화하는 문제입니다.
입력 형식
첫 줄: 참가자 수 n
다음 n줄: 각 참가자의 능력치와 열정도
마지막 줄: 허용 가능한 최대 능력치 차이 X
출력 형식
조건을 만족하는 최대 열정도 합 출력
데이터 범위
30% 테스 ...
6월 17일 22:39에 게시됨
네 수 합계 최적화 및 문자 조합 문제 해결
454. 네 수의 합 (두 쌍으로 분할)
문제는 네 개의 배열에서 각각 하나씩 원소를 선택하여 합이 0이 되는 조합의 수를 세는 것이다. 접근 방식은 두 배열을 먼저 조합해 합을 해시맵에 저장하고, 나머지 두 배열의 합과 보완되는 값을 탐색하는 방식이다.
첫 번째 단계: nums1과 nums2의 모든 쌍의 합을 계산하여 Map<합, 등장 횟수>로 저장한다.
두 번째 단계: nu ...
6월 17일 04:47에 게시됨
버블 정렬 알고리즘의 원리와 구현
알고리즘 개념 설명
버블 정렬(Bubble Sort)은 인접한 두 요소를 비교하여 필요 시 교환하는 방식으로 작동하는 간단한 정렬 기법입니다. 배열 내에서 가장 큰 값이 거품(bubble)처럼 점차 끝으로 밀려나가기 때문에 이 이름이 붙었습니다.
n개의 원소로 구성된 배열을 정렬한다고 가정할 때, 첫 번째 패스에서는 처음부터 끝까지 인접한 원소들을 비교하며 더 큰 값을 오 ...
6월 15일 17:34에 게시됨
무료 자바스크립트 알고리즘 학습 프로젝트 실전 가이드
알고리즘 학습을 위한 효과적인 오픈소스 프로젝트를 소개한다. javascript-algorithms는 200개 이상의 알고리즘과 자료 구조를 자바스크립트로 구현한 저장소로, 각 모듈마다 상세한 설명, 테스트 코드, 성능 분석이 포함되어 있다.
프로젝트 구조 이해하기
이 프로젝트는 모듈식 설계를 채택하여 각 알고리즘이 독립된 모듈로 존재한다. 다음은 주요 디렉터리 구조다:
...
6월 14일 00:37에 게시됨
2736. 최대합 쿼리: 단일 차원에서 이차원 차원으로의 확장과 문제 해결 전략 분석
문제 개요
LeetCode의 2736. 최대합 쿼리는 난이도가 고난도이며, 다음 태그를 포함한다: 정렬, 이산화, 트리 구조 배열 (트리형 배열).
두 개의 길이가 동일한 정수 배열 nums1과 nums2가 주어지고, 각각의 인덱스에 해당하는 요소는 짝을 이루며 하나의 쌍을 형성한다. 또한 하위 인덱스가 1부터 시작하는 2차원 배열인 queries가 제공된다.
각 쿼리 i에 대해, 조건 ...
6월 1일 11:59에 게시됨
C++ 표준 라이브러리 알고리즘 완전 정리
비수정형 시퀀스 알고리즘
이들 알고리즘은 컨테이너의 요소를 변경하지 않고 탐색 또는 검사를 수행합니다.
요소 탐색: find 계열 함수
find(시작, 끝, 값): 지정된 값과 일치하는 첫 번째 요소의 반복자를 반환. 못 찾으면 end().
find_if(시작, 끝, 조건): 조건을 만족하는 첫 번째 요소를 찾음.
find_end(시작1, 끝1, 시작2, 끝2): 두 번째 범위의 시퀀스가 첫 ...
5월 26일 16:42에 게시됨
파이썬 알고리즘 및 자료구조 기초 문제 풀이
시간 복잡도 비교 문제
AList = [1, 2, 3], BSet = {1, 2, 3}일 때 다음 질문에 답하시오:
값 4를 찾을 때, 리스트와 집합 중 어느 쪽의 최악 시간 복잡도가 더 큰가?
값 4를 삽입할 때, 리스트와 집합 중 어느 쪽의 최악 시간 복잡도가 더 큰가?
답변:
검색 연산의 경우, 리스트와 집합 모두 O(n)의 시간 복잡도를 가진다.
삽입 연산의 경우, 리스트는 O(n), 집합은 평 ...
5월 25일 12:42에 게시됨