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에 게시됨