본문 바로가기

Etc96

정렬 알고리즘 이 글은 동빈나 님의 실전 알고리즘 강좌를 들으며 정리한 글입니다. 선택 정렬 아무렇게나 놓인 데이터 중 가장 작은 데이터의 위치를 가장 앞에 있는 데이터 위치와 바꾼다. 이미 원소를 넣을 자리는 선택되어 있고 이 자리에 놓일 데이터를 찾는다. 정렬되지 않은 데이터 중 최솟값을 찾는다. 이 최솟값과 첫 번째 자리에 있는 데이터의 위치를 서로 바꾼다. 위 작업을 계속 반복한다. 시간 복잡도 O(n²) 반복 10 + 9 + 8 + ... + 1 : 등차수열 10 * (10 + 1) / 2 = 55 → N * (N + 1) / 2 : 컴퓨터에서 N에 엄청 큰 수라는 가정 하에 나누거나 더하는 연산은 의미가 없다 → N * N 비효율적인 알고리즘 중 하나이다 void selectionSort(int[] arr).. 2022. 6. 25.
Windows 개발 환경 세팅 WSL2 설치 Windows에 적합한 JDK 설치 IntelliJ 설치 JetBrains ToolBox 설치 환경변수 설정 WSL2(Windows Subsystem for Linux 2) Windows에서 리눅스 터미널을 실행할 수 있게 해주는 프로그램 Windows Terminal 설정 1.1. 관리자 권한으로 실행 1.2. 아래 명령어 한 줄씩 입력하고 엔터 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 1.3. 리눅스 커널 업.. 2022. 6. 24.
웹 클라이언트와 웹 서버 클라이언트 - 서버 아키텍처 = 2티어 아키텍처 상품 정보가 같은 리소스가 존재하는 곳(서버)과 리소스를 사용하는 앱(클라이언트)을 분리 3티어 아키텍처 클라이언트(리소스 사용) ↔ 서버(리소스 전달) ↔ 데이터베이스(리소스 저장 공간) ▶ 클라이언트 개발자: 사용자가 눈으로 보고, UI 클릭 또는 터치와 같은 상호작용 가능한 앱을 만든다 → 웹사이트(웹 앱), 스마트폰/태블릿용, 데스크탑 ▶ 백엔드 개발자: 상품 정보를 API로 노출, 로그인/로그아웃, 권한 관리와 같은 사용자 인증을 다룬다 → 웹 서버, 파일 서버, 메일 서버, 데이터베이스 서버 2022. 6. 24.
컴퓨터와 프로그래밍의 이해 컴퓨터의 이해 🖥️ 컴퓨터 입력받은 데이터를 정해진 규칙대로 처리해서 결과를 저장하고 출력하는 전자 장치 시초: 앨런 튜링이 세계 2차대전 시기 독일군의 암호를 해독하기 위해 발명한 튜링 머신 입력 장치 → SW or 애플리케이션 → 중앙처리장치(연산) → 기억 장치 → 출력 장치 ⚒️ 컴퓨터의 구성 요소 소프트웨어: 하드웨어의 동작 방식을 규정한 명령어 집합 · 시스템 소프트웨어: 응용 소프트웨어를 실행(운영체제, 런타임 환경)하기 위한 플랫폼 역할로, 하드웨어와 직접적으로 소통한다(장치 드라이버) · 응용 소프트웨어: 시스템 소프트웨어를 제외한 모든 소프트웨어 = 애플리케이션, 앱 하드웨어 1. 중앙처리장치(CPU): 프로그램의 실행과 데이터 처리를 담당하는 핵심 장치 = (마이크로)프로세서 · 제어.. 2022. 6. 24.
[JAVA] 백준 17478번: 재귀함수가 뭔가요? import java.util.*; public class Hello { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다."); fibonacci(n); } static String underbar = ""; public static void fibonacci(int i) { String line = underbar; if(i == 0) { System.out.println(line + "\"재귀함수가 뭔가요?\""); System.out.println(line + "\"재귀함수는 .. 2022. 6. 24.
[JAVA] 백준 11720번: 숫자의 합 import java.util.*; public class Main{ public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String num = sc.next(); int sum = 0; for(int i=0; i 2022. 5. 28.