본문 바로가기

분류 전체보기

(23)
선택 정렬(Selection Sort) 개념선택 정렬은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식이다. 과정주어진 리스트 중 최소값을 찾는다.그 값을 맨 앞에 위치한 값과 교체한다. (pass)맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 예시  구현(Java)void selectionSort(int[] arr) { int indexMin, temp; for (int i = 0; i  시간복잡도데이터의 개수가 n개일 때,첫 회전에서의 비교횟수 : 1 ~ n-1 => n-1두번째 회전에서의 비교횟수 : 2 ~ n-1 => n-2...(n-1) + (n-2) + .... + 2 + 1 => n(n-1)/2 즉, n개의 주어진 배열을 정렬하는데 O(n^2) 만큼의 시간이 걸..
[정보처리기사] 2024년 1회 정처기 필기 합격 후기 (비전공자, 독학, 공부 방법) 정처기 필기 합격! 🥳 설마 붙겠지... 하면서도 한편으로는 걱정도 되었는데 1트에 합격하고 쓰는 합격 후기. (넉넉한 점수 합격은 아니지만... 필기는 합격만 하고 실기에 무게를 두는 전략이었습니다.) 1. 전공유무 비전공자로 유사전공도 아님. 공대X, 사회과학 계열 전공자. 국비과정 6개월 이수한 상태로 언어, DB 등 특정 과목 조금 아는 정도? 실제로 정처기 필기 공부 시작했을 때도 특정 파트는 술술 읽고 넘어갔음. 간단히 말해 전공자와 비전공자 사이의 반전공자(?)의 지식을 보유한 상태. 2. 정처기 준비 이유 비전공자로 개발직군을 준비하며 공부할 게 많았다. 개발자 정처기 필수 아니다, 필요 없다는 말을 매우 많이 들었지만 오히려 비전공자이기 때문에 자격증이 있으면 플러스 요인이지 마이너스가 ..
프레임워크와 라이브러리의 차이는? * 프레임워크와 라이브러리의 각 개념을 먼저 살펴보고 공통점과 차이점을 설명한다. * 개인 공부를 위한 내용 정리이며 잘못된 부분이 있다면 댓글 남겨주세요. 프레임워크(Framework)? 프레임워크는 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합이다. 다시 말해 프레임워크는 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 뼈대를 의미한다. 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 연동 등 여러 기능을 제공하며, 사용자는 이러한 프레임워크를 통해 코드를 작성해 개발한다. 서버 구동 및 메모리 관리 등은 프레임워크가 관리하며, 사용자는 프레임워크의 방식대로 구현하는 것이다. → 예시 Java 서버 개발에 사용되는 Spr..
[자바/Java] 프로그래머스 코딩 기초 트레이닝 : 배열 만들기 2 배열 만들기 2 ❓ 문제 설명 정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. ❕ 입출력 예 lrresult 5555[5, 50, 55, 500, 505, 550, 555] 1020[-1] 🗝️ 문제 풀이 import java.util.ArrayList; import java.util.Collections; class Solution { public static int[] solution(int l, int r) { ArrayList list = new ArrayList(); for (int i..
[자료구조] 자료구조의 의미, 특징, 분류 자료구조(Data Structure)? 자료구조를 직역하면 데이터 구조이며, 이를 풀어서 설명하면 '일련의 일정 타입들의 데이터 값의 모임 또는 관계'이다. 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분해서 표현한 것. 자료구조를 사용하는 목적은? 적은 양의 데이트를 처리할 때는 어떤 자료구조를 사용하든 큰 차이가 없지만, 대량의 데이터를 처리할 경우에는 어떤 자료구조를 사용하는지가 효율성에 큰 영향을 준다. 자료를 더 효율적으로 저장, 관리하여 메모리를 절약하고 실행시간을 단축하기 위해 적절한 자료구조를 사용해야한다. → 예를 들어 책장에 책을 제목별 혹은 분야별로 정리하면 원하는 책을 쉽게 찾을 수 있는 것처럼 메모리를 효율적으로 사용..
[Java] ""(큰따옴표)와 ''(작은따옴표)의 차이 여러 언어에서 큰따옴표(") 와 작은 따옴표(')를 구분 없이 사용 가능하지만, Java에서는 잘못 사용했을 경우 에러가 발생한다. 큰따옴표(" ")는 문자열(String)을 감싸는 기호이고 작은따옴표(' ')는 문자(Character)를 감싸는 기호이다. 결론 : 큰따옴표(" ") 사이에는 문자 여러개를 입력하고 작은따옴표(' ') 사이에는 문자 하나만 입력할 수 있다.
트랜잭션(Transaction)이란? 트랜잭션의 의미 트랜잭션(Transaction) 이란, 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 데이터베이스의 상태를 변경시킨다는 것은 SELECT, UPDATE, INSERT, DELETE 와 같은 질의어(SQL)를 통해 데이터베이스의 상태를 변경시키는 것이다. 트랜잭션은 질의어 한 문장이 아니라, 상황에 따라 개발자가 정한 여러 질의어 명령문들의 한 단위를 의미한다. 트랜잭션은 상황에 따라 여러 개가 만들어질 수 있고, 그 하나의 트랜잭션은 Commit (저장) 되거나 Rollback (철회)될 수 있다. 예시 1 사용자 A가 사용자 B에게 만원을 송금한다. 1. 사용자 A의 계좌에 만원 출금 : UPDATE로 사용자 A의 잔고 변경 2. 사용자 B의 계좌에 만원 입금 : UP..
[Java] 문자열 합치기 총정리(+ 연산자, concat, StringBuilder, StringBuffer) 자바에서 문자열을 합칠 수 있는 방법은 +연산자, concat, StringBuilder, StringBuffer가 있다. 우선 문자열을 합쳐보자. public class Main { public static void main(String[] args) { String str1 = "Hello"; String str2 = "Java"; String result1 = str1 + str2; String result2 = str1.concat(str2); StringBuilder result3 = new StringBuilder(); result3.append(str1); result3.append(str2); System.out.println(result1); System.out.println(result..