본문 바로가기

개발55

cover item thumbnail5 [최적화 및 문제풀이] 두 개의 정렬된 배열에서 공통 원소 찾는 문제 정렬된 두 배열에서 공통 원소를 찾는 문제문제를 해결하기 위해 Brute Force 방식부터 시작하여, 이진 탐색을 이용한 방법으로 개선, 최종적으로 Two-Pointer 접근법을 통해 BCR (Best Conceivable Runtime)인 O(N)에 도달하는 과정을 단계별로 설명하겠습니다.  목차  두 개의 정렬된 배열에서 공통 원소 찾는 문제문제: 정렬된 배열 두 개가 주어졌을 때 공통으로 들어 있는 원소를 출력하세요. 두 배열의 길이는 같고 하나의 배열 안에서 동일한 원소는 하나만 존재한다. Brute Force 접근법 (O(N^2))Brute Force 방식은 두 배열의 모든 원소를 비교하여 공통 원소를 찾는 방법입니다. 시간 복잡도는 O(N^2) 이며, 매우 비효율적입니다. public .. 2024. 9. 2.
cover item thumbnail5 [최적화 및 문제풀이] 문자열 순열 찾기 문제 문자열 b에서 문자열 s의 모든 순열을 찾는 문제는 자주 등장하는 문제 중 하나입니다. 이 문제를 해결하기 위해 Brute Force 방법을 사용할 수도 있지만, 이는 매우 비효율적입니다. 이번 글에서는 Brute Force 접근법을 알아보고, 이를 최적화된 O(B) 시간 복잡도의 알고리즘으로 변환하는 과정을 자세히 설명하겠습니다.  목차  문자열 순열 찾기 문제문제: 길이가 작은 문자열 s와 길이가 긴 문자열 b가 주어졌을 때, 문자열 b안에 존재하는 문자열 s의 모든 순열을 찾는 알고리즘을 설계하시오. (각 순열의 위치를 출력하면 된다) Brute Force 접근 (O(S! * B))Brute Force 접근법은 문제를 해결하는 가장 직관적인 방법으로, 다음과 같은 단계로 진행됩니다.문자열 s의 모든.. 2024. 9. 1.
[최적화 및 문제풀이] 자연수 a³ + b³ = c³ + d³ 문제 이번 글에서는 자연수 a³ + b³ = c³ + d³ 를 만족하는 모든 조합을 구하는 문제를 해결하는 다양한 방법을 소개하고, 무식한 방법(brute force)으로 문제를 풀고, 개선해나가는 방법에 대해 알아보겠습니다.  목차   자연수 a³ + b³ = c³ + d³ 문제먼저, 무식한 방법(brute force)으로 문제를 풀어보고, 중복되는 작업, 불필요한 작업 등을 제거해나가면서 개선해나가는 방법에 대해 알아보겠습니다. 무식한 접근(brute force) 방법가장 먼저 떠오르는 방법은 가능한 모든 a, b, c, d 값을 대입해 보는 것입니다. 이 방식은 직관적이지만, 매우 비효율적입니다.int n = 1000;for (int a = 1; a 이 알고리즘의 시간 복잡도는 O(N^4)입니다. 즉, .. 2024. 8. 31.
배열 교집합 계산: 알고리즘 분석과 Big-O 시간 복잡도 두 배열의 교집합을 구하는 알고리즘을 분석하고, Big-O 표기법을 통해 시간 복잡도를 알아보겠습니다.  목차   배열 교집합 계산: 알고리즘 분석과 Big-O 시간 복잡도두 배열의 교집합을 구하는 예제 코드를 분석하고, Big-O 표기법을 통해 시간 복잡도를 알아보겠습니다. int intersection(int[] a, int[] b) { mergesort(b); int intersect = 0; for (int x : a) { if (binarySearch(b, x) >= 0) { intersect++; } } return intersect;} 이 함수는 두 개의 배열 a와 b에서 공통으로 등장하는 요소의 개수를 계산하는 함수입니.. 2024. 8. 30.
cover item thumbnail5 [ChatGPT-4o][활용법] 로또 번호 빈도수 통계 분석 및 시각화 데이터 분석은 다양한 분야에서 중요한 역할을 합니다. 특히, 복권 번호와 같은 랜덤 데이터의 분석은 많은 사람들에게 흥미로운 주제입니다. 이번 포스트에서는 ChatGPT-4o를 이용하여 엑셀 파일로부터 로또 번호 빈도수 통계를 분석하고, 이를 막대그래프로 시각화하는 과정을 소개하겠습니다.  목차  로또 번호 빈도수 통계 분석 및 시각화ChatGPT-4o를 이용하여 엑셀 파일로부터 로또 번호 빈도수 통계를 분석하고, 이를 막대그래프로 시각화하는 과정을 소개하겠습니다.엑셀 파일 준비먼저, 로또 번호 데이터가 담긴 엑셀 파일을 준비해야 합니다. 다양한 온라인 소스에서 지난 로또 당첨 번호 데이터를 다운로드할 수 있으며, 이 데이터를 엑셀 파일로 저장합니다. 최신 로또 엑셀 다운 받기최신 로또 엑셀 데이터를 다.. 2024. 8. 4.
cover item thumbnail5 [논문 리뷰][LLM] AIOS AI 기반 어플리케이션 개발을 위한 운영 체제에 대한 논문을 접할 기회가 있었는데, 내용이 흥미로워서 정리해보았습니다. 목차 AIOS (LLM Agent Operating System) AIOS는 AI 어플리케이션 개발을 위한 운영 체제로, LLM (Large Language Model)을 커널로 활용하여 자연어 기반의 명령어와 프로그래밍 인터페이스를 제공합니다. 이를 통해 개발자는 복잡한 코딩 없이 자연어로 어플리케이션을 개발하고 관리할 수 있으며, 다양한 AI 기능을 통합하여 활용할 수 있습니다. Paper: https://arxiv.org/html/2403.16971v2 Github: https://github.com/agiresearch/AIOS AIOS 아키텍처 AIOS 아키텍처는 대규모 언어 .. 2024. 4. 17.
[요구공학] [소프트웨어 품질 속성] Portability 소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability), 성능 효율성(Performance Efficiency), 호환성(Compatibility), 사용성(Usability), 신뢰성(Reliability), 보안(Security), 유지 관리성(Maintainability)에 대해 앞선 글에서 알아보았습니다. [요구공학] 소프트웨어 품질 속성과 품질 시나리오 품질 속성과 품질 시나리오가 무엇인지 알아보고자 합니다. 목차 품질 속성과 품질 시나리오: 소프트웨어 개발의 길잡이 품질 속성과 품질 시나리오의 중요성을 이해하고, 이를 소프트웨어 개 wide-shallow.tistory.com 이번에는 소프트웨어 품질 속성 중 하나인 이식성(Portability).. 2024. 4. 14.
[요구공학] [소프트웨어 품질 속성] Maintainability 소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability), 성능 효율성(Performance Efficiency), 호환성(Compatibility), 사용성(Usability), 신뢰성(Reliability), 보안(Security)에 대해 앞선 글에서 알아보았습니다. [요구공학] 소프트웨어 품질 속성과 품질 시나리오 품질 속성과 품질 시나리오가 무엇인지 알아보고자 합니다. 목차 품질 속성과 품질 시나리오: 소프트웨어 개발의 길잡이 품질 속성과 품질 시나리오의 중요성을 이해하고, 이를 소프트웨어 개 wide-shallow.tistory.com 이번에는 소프트웨어 품질 속성 중 하나인 유지 관리성(Maintainability)에 대해 조금 더 자세히 알아보고.. 2024. 4. 13.