전체 글 (62) 썸네일형 리스트형 정렬 알고리즘 완전 정복 - O(N²)부터 O(N log N)까지, 정렬 알고리즘 비교 📌 1. 정렬이란? 왜 중요한가?정렬이 필요한 이유 (예시: 탐색 최적화, 데이터 처리)실제 활용 예시: 데이터베이스 인덱싱, 코딩 테스트, AI 데이터 전처리📌 2. 정렬 알고리즘 분류유형정렬 알고리즘시간복잡도특징O(N²) (기본 정렬)버블 정렬, 선택 정렬, 삽입 정렬O(N²)느림, 기초 개념 익히기 좋음O(N log N) (고급 정렬)퀵 정렬, 병합 정렬, 힙 정렬O(N log N)실전에서 많이 사용O(N) (특수 정렬)카운팅 정렬, 기수 정렬, 버킷 정렬O(N)특정 조건에서만 사용 가능📌 3. 기본 정렬 알고리즘 (O(N²))✅ 3-1. 버블 정렬 (Bubble Sort)개념: 인접한 두 원소를 비교하여 교환하는 방식시간복잡도: O(N²)특징: 구현은 쉽지만 비효율적Java 구현 예제publ.. 알고리즘 3개월 마스터 플랜 - 1일차 https://sober-developer.tistory.com/89 알고리즘 공부 시작하기 - 3개월 알고리즘 마스터 플랜계기사실 계기도 많았고 시도도 많았다.알고리즘 공부는 항상 해왔지만 '돌아간다 신난다'의 안 좋은 습관이 있었고 슬프게도 내가 그걸 너무 재밌어해서 계속 고치고 싶지 않았다.하지만 이정sober-developer.tistory.com 알고리즘 공부 '제대로' 시작하기 1일차! 1주차 포스팅은 여기!https://sober-developer.tistory.com/90 알고리즘 3주 마스터 플랜 1주차✅ 1주차 계획 (정렬 & 완전 탐색)📅 목표 기간: 수요일 ~ 일요일 (5일)🎯 목표: 정렬 & 완전 탐색 개념 정리 문제 풀이 전 접근법 작성 & 반례 테스트 5문제 풀이 & 블로그.. [백준] 수 정렬하기 (2750) - Java 자바 https://www.acmicpc.net/problem/2750 이전에 이미 풀었던 문제지만, https://sober-developer.tistory.com/90 알고리즘 3주 마스터 플랜 1주차✅ 1주차 계획 (정렬 & 완전 탐색)📅 목표 기간: 수요일 ~ 일요일 (5일)🎯 목표: 정렬 & 완전 탐색 개념 정리 문제 풀이 전 접근법 작성 & 반례 테스트 5문제 풀이 & 블로그 정리 (2문제 이상) 📌 1주sober-developer.tistory.com 차근차근 푸는 연습을 위해 다시 풀어보겠다. 수 정렬하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB2312481330539112958.261%문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력.. 알고리즘 3개월 마스터 플랜 1주차 ✅ 1주차 계획 (정렬 & 완전 탐색)📅 목표 기간: 수요일 ~ 일요일 (5일)🎯 목표: 정렬 & 완전 탐색 개념 정리 문제 풀이 전 접근법 작성 & 반례 테스트 5문제 풀이 & 블로그 정리 (2문제 이상) 📌 1주차 학습 개념정렬 알고리즘 버블 정렬, 선택 정렬, 삽입 정렬 (기본)퀵 정렬, 병합 정렬 (고급)라이브러리 정렬 활용 (Arrays.sort, sorted) 정렬 응용 (좌표 정렬, 문자열 정렬, 커스텀 정렬) 완전 탐색 (Brute Force)모든 경우의 수 탐색 (순열, 조합)비효율적인 풀이 방식과 시간복잡도 고려 백트래킹을 사용하지 않는 기본적인 완전 탐색 문제 📌 추천 문제 (정렬 & 완전 탐색)문제 유형난이도문제 링크기본 정렬실버 4백준 2750 - 수 정렬하.. 알고리즘 공부 시작하기 - 3개월 알고리즘 마스터 플랜 계기사실 계기도 많았고 시도도 많았다.알고리즘 공부는 항상 해왔지만 '돌아간다 신난다'의 안 좋은 습관이 있었고 슬프게도 내가 그걸 너무 재밌어해서 계속 고치고 싶지 않았다.하지만 이정도면 땡깡은 피울대로 피웠고, 난 훌륭한 개발자가 되어야 하니까 이젠 정신을 차릴 시기가 지나도 한참 지나버렸다.어르신께 이 상황을 말씀드리고 어떻게 하면 좋을지 조언을 구해봤다.어르신의 조언을 바탕으로 정리해보았다.목표지금까지는 감으로 풀었다면 이제는 이론을 확실히 익히고 전략적으로 접근하는 방식으로 바꾸는 것이 목표원칙1. 문제 풀이 방식 바꾸기✅ 1단계: 문제 읽기 전 먼저 개념 확인문제를 보고 바로 코드 작성 금지. 관련된 이론/유형을 먼저 떠올려 보기 (예: DFS/BFS 문제라면 탐색 방식과 시간 복잡도 고려).. [Java/Basics] 자바 기초 스터디 4주차: 예외처리와 스트림 예외가 무엇인지, 예외 처리가 왜 중요한지 이해하고 예외 처리 방법을 설명하고 스트림으로 넘어가서 개념과 활용법, 데이터를 더욱 효율적으로 처리하는 방법을 익히고자 한다. 1. 예외(Exception)란? - 프로그램 실행 중 예상치 못한 오류가 발생하는 상황.- 예외가 발생하면 프로그램이 비정상적으로 종료될 수 있으므로, 적절한 예외 처리가 필요하다. ## 1-1. 예외가 발생하는 대표적 상황- 잘못된 입력: 숫자를 입력 받아야 하는데 문자가 입력될 경우- 파일 입출력 오류: 존재하지 않는 파일을 읽으려 할 때- NullPointException: 객체가 null일 때 메서드를 호출하려는 경우- ArrayIndexOutOfBoundsException: 배열의 범위를 벗어난 인덱스에 접근하는 경우 ```.. [Java/Basics] 자바 기초 스터디 3주차: 상속과 다형성 먼저 상속과 다형성의 개념과 필요성을 이해하고, 자바에서 이를 어떻게 구현하는지 코드 예제로 확인한 후, 실무에서 어떻게 활용할 수 있는지 예제와 함께 정리하고자 한다.1. 상속(Inheritance)이란?기존 클래스를 기반으로 새로운 클래스를 만들고 코드를 재사용하는 기법.자식(하위) 클래스가 부모(상위) 클래스의 속성과 메서드를 물려받는다.1-1. 상속이 필요한 이유코드의 재사용성 증가중복 코드를 줄이고 유지보수성을 높일 수 있음.확장성새로운 기능을 추가할 때 기존 클래스를 수정하지 않고 확장 가능.객체 간의 계층 구조 형성현실 세계를 더 직관적으로 모델링 가능예: 동물 -> 개, 고양이1-2. 상속 구현 방법(예제 코드)// 부모 클래스 (상위 클래스)public class Animal { p.. [Java/Basics] 자바 기초 스터디 2주차: 객체지향 프로그래밍(OOP) 기초 먼저 객체지향 프로그래밍에 대해 알아야 하는 이유에 대해 알아보고, 이어서 정의, 4대 핵심 원칙, 장점, Java에서 적용하는 방법까지 정리하려 한다.1. 객체지향 프로그래밍에 대해 알아야 하는 이유현대 소프트웨어 개발의 표준.대부분의 프로그래밍 언어(자바, 파이썬, C++)는 객체지향 패러다임을 중심으로 설계됨.OOP를 이해하지 못하면 언어의 핵심 기능을 제대로 활용하기 어려움.복작합 문제를 더 잘 해결현실 세계의 복잡한 문제를 객체로 추상화해 프로그래밍 가능유지보수와 확장성 증가객체 단위로 코드가 분리되기 때문에 유지보수와 확장에 유리함.팀 개발 환경에서 역할 분담과 협업이 쉬워짐.2. 객체지향 프로그래밍(OOP)이란?2-1. 객체지향 프로그래밍| 객체지향 프로그래밍은 객체(Object)를 중심으로.. 이전 1 2 3 4 ··· 8 다음 목록 더보기