[알고리즘] 빅 오 (Big O) 표기법
자료구조 & 알고리즘/알고리즘2023. 8. 27. 00:58[알고리즘] 빅 오 (Big O) 표기법

이 글은 누구나 자료 구조와 알고리즘(저자 : 제이 웬그로우)의 내용을 개인적으로 정리하는 글임을 알립니다. 빅 오 단순히 어떤 알고리즘을 22단계 알고리즘, 400단계 알고리즘이라고 표시할 수 없다. 알고리즘에 필요한 단계 수를 하나의 수로 못 박을 수 없기 때문이다. 예를 들어 선형 검색에는 배열의 원소 수만큼의 단계가 필요하므로 배열에 따라 필요한 단계 수가 다르다. 선형 검색의 효율성을 정량화하는 보다 효과적인 방법은 배열에 N개의 원소가 있을 때 선형 검색에 N단계가 필요하다고 표현한다. 빅 오 표기법을 사용해 주어진 알고리즘의 효율성을 쉽게 분류하고 이해시킬 수 있다. 선형 검색 알고리즘을 빅 오로 나타내면 O(N)이다. O(N)은 알고리즘에 N단계가 필요하다는 뜻이다. 원소가 N개인 배열의 ..

[Python] 변수와 입력
Language/Python2023. 8. 26. 00:49[Python] 변수와 입력

변수 변수의 개념 변수 : 값을 저장할 때 사용하는 식별자 파이썬에서는 숫자형/문자형을 비롯한 모든 데이터 타입에 대해 그것을 지칭할 수 있는 이름을 자유롭게 만들 수 있고 (키워드는 변수이름으로 사용 못함), 컴퓨터 하드웨어 중 메모리에 변수에 대한 공간을 만들고, 값을 할당함 컴퓨터의 메모리 공간에 이름을 붙이는 것으로 우리는 여기에 값을 저장할 수 있다. C언어에서는 직접 메모리 상의 공간에 접근할 수 있는‘포인터’를 제공하고 있으나, 파이썬에서는 포인터가 없고, 단지 객체의 참조값만 확인할 수 있음 불변 객체와 가변 객체 불변 객체 불변 객체(immutable object)은 한번 만들어지면 변경할 수 없는 객체 우리가 변수에 저장된 값을 변경하면 값을 저장하는 새로운 객체가 생성되어서 새로운 객..

[Python] 문자형
Language/Python2023. 8. 25. 00:14[Python] 문자형

문자열 문자와 단어 등으로 구성된 문자들의 집합을 의미 Python의 문자열은 유니 코드 문자를 나타내는 바이트 배열 단일 문자는 길이가 1 인 문자열 숫자도 따옴표 안에 있으면 문자열 파이썬의 문자열 리터럴은 작은 따옴표 또는 큰 따옴표로 묶음 -> 작은 따옴표 또는 큰 따옴표 세 개를 연달아 입력하는 방법도 가능 간단한 문자열 만들어 보기 • “Hello” • ‘안녕하세요’ • '''문자열을 공부하고 있습니다.''' • """문자열을 공부하고 있습니다.""" 문자열 내부에 따옴표를 넣으려면? 큰따옴표(작은따옴표) 안에 작은따옴표(큰따옴표)로 문자를 표기해야 함 ""안에 ""을 넣는다면, 단순 문자열이 두 번 반복되는 걸로 파이썬 인터프리터는 이해함 예 : ""안녕"하세요" → “”, “하세요” 가 독..

[Python] 파이썬 자료형
Language/Python2023. 8. 24. 00:25[Python] 파이썬 자료형

자료형 파이썬에서의 자료형 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻함 프로그램의 기본이자 핵심 단위임 C언어나 Java 같은 프로그래밍 언어와 달리, 파이썬에서는 코드를 작성할 때 프로그래머가 자료형을 지정하지 않아도 됨 프로그래밍 시 자료형을 지정하지 않아도 되긴 하지만, 파이썬 내부에서는 자동으로 자료형을 정해줌 • 런타임(실행 시간) 시에 자료형이 결정됨 • 자동으로 지정된 자료형은 어떻게 확인할 수 있나? -> type( )이라는 함수를 통해서 확인할 수 있음 • 실행시켜 보기 전에는 오류를 검출하기 어렵지만, 유연하고 빠르게 코딩이 가능 숫자형(수치 자료형) 숫자형(number)이란 숫자 형태로 이루어진 자료형으로, 123 같은 정수, 12.3 같은 실수,..

[Python] 파이썬 기본적인 용어
Language/Python2023. 8. 23. 00:02[Python] 파이썬 기본적인 용어

키워드(keyword) 파이썬이라는 프로그래밍 언어가 만들어질 때, 이런 단어들은 파이썬 자체적으로 사용하겠다고 예약해 놓은 단어들 (총 35개) 키워드로 지정된 단어들은 변수명 같이 나중에 사용자가 마음대로 정할 수 있는 이름들로는 사용될 수 없기 때문에 알고 있어야 함 식별자(identifier) 키워드 외에 프로그램에서 사용자가 필요에 따라 이름을 만들어 사용하는 단어 즉, 변수, 상수, 함수, 클래스 등의 구분을 위해 사용하는 이름 식별자를 작성하는데 정답은 없지만 대부분의 경우 많은 프로그래머들이 관례적으로 사용하는 카멜 기법과 파스칼 표기법을 적절하게 조합 • 변수명이나 함수명은 카멜 표기법 • 클래스명은 파스칼 표기법 식별자 작성 규칙 식별자로 쓸 수 있는 문자 • 영문 대/소문자(A~Z, ..

[Java] next()와 nextLine()의 차이
Language/Java2023. 8. 22. 00:57[Java] next()와 nextLine()의 차이

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int number; String string; System.out.print("숫자 입력 : "); number = sc.nextInt(); System.out.println("문자열 입력 : "); string = sc.nextLine(); System.out.println("숫자 입력 결과 : " + number); System.out.println("문자열 입력 결과 : " + string); } } /* 숫자 입력 : 6546201 문자열 입력 : 숫자 입력 결과 : 65462..

[Java] DB와 연동한 게시판 구현
Language/Java2023. 8. 21. 00:04[Java] DB와 연동한 게시판 구현

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. USER 테이블 Oracle MySQL BOARDS 테이블 Oracle MySQL 구현 Oracle Board.java import java.util.Date; public class Board { private int bno; private String btitle; private String bcontent; private String bwriter; private Date bdate; public int getBno() { return bno; } public void setBno(int bno) { this.bno = bno; } public String getBtitle() ..

[Java] DB 트랜잭션 처리
Language/Java2023. 8. 20. 00:24[Java] DB 트랜잭션 처리

이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다. 트랜잭션 트랜잭션(transaction)은 기능 처리의 최소 단위를 말한다. 하나의 기능은 여러가지 소작업들로 구성된다. 최소 단위라는 것은 이 소작업들을 분리할 수 없으며, 전체를 하나로 본다는 개념이다. 트랜잭션은 소작업들이 모두 성공하거나 실패해야 한다. 예를 들어 계좌 이체는 출금과 입금으로 구성된 트랜잭션이다. 출금과 입금 작업 중 하나만 성공할 수 없으며, 모두 성공하거나 모두 실패해야 한다. 계좌 이체는 DB 입장에서 보면 두 개의 계좌 금액을 수정하는 작업이다. 출금 계좌에서 금액을 감소시키고, 입금 계좌에서 금액을 증가시킨다. 따라서 아래와 같이 두 개의 UPDATE ..

image