profile
Programmer
post-thumbnail

백트래킹

백트래킹(역 추적)은 일부 계산 문제, 특히 제약 만족 문제에 대한 모든 솔루션을 찾기 위한 일반적인 알고리즘으로, 솔루션에 대한 후보를 점진적으로 구축하고 후보가 가능하지 않다고 결정하는 즉시 후보의 역추적을 포기합니다. 문제)주어진 리스트 1,2,3,4라고 할 때

어제
·
0개의 댓글
post-thumbnail

백준 - 상자넣기 1965번

문제 링크 : 백준 - 상자넣기원래 나의 풀이다른 사람의 풀이파이썬의 bisect 함수는 이진 탐색을 쉽게 해주는 함수입니다. 이진 탐색은 직접 코드로도 구현할 수 있지만, bisect 함수를 이용하여 구현 시간을 줄이고 편하게 사용할 수 있습니다.자세한 내용은 여기로

3일 전
·
0개의 댓글

문자열 슬라이싱

s1:4 == "bcd" : 문자열 s 인덱스 1 ~ 4이전까지s1:-2 == "bc" : 문자열 s 인덱스 1 ~ -2이전까지s1: == "bcde" : 문자열의 시작 또는 끝은 생략이 가능하다.s: == "abcde" : 둘 다 생략하면 사본을 리턴한다. 파이썬은

4일 전
·
0개의 댓글
post-thumbnail

Leetcode 125 - Valid Palindrome

문제 링크 : leetcode 125 문제 설명 : 주어진 문자열이 펠린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. s.lower()함수를 통해서 대문자로 되어있는 문자를 소문자로 변경하고 각 문자에 대해서 알파벳인지, 숫자인지

4일 전
·
0개의 댓글
post-thumbnail

프로그래머스 - 땅따먹기

문제 링크 : 프로그래머스 - 땅따먹기원래 풀이다른 사람의 풀이 동적계획법의 풀이를 이용한 것을 비슷하였지만 숏코딩면에서 차이가 보였다. 앞으로 밑의 풀이를 통해 시험 시간을 더욱 줄이는 데 힘써야겠다.

5일 전
·
0개의 댓글
post-thumbnail

프로그래머스 - 후보키

링크 : 프로그래머스 - 후보키 이 문제는 입력값에 범위도 매우 적어서 단순 구현을 하면 쉽게 푸는 문제라고 생각해 얕봤었지만 좀 더 구체적으로 생각해보니 엄청나게 많은 for문 사용이 예상되어 그리디적인 방법에 대해 고민하다가 결국 시간초과로 인해 문제를 다 풀지 못

6일 전
·
0개의 댓글
post-thumbnail

객체 지향 5원칙 - 2. OCP

OCP(개방 패쇄 원칙) 소프트웨어 엔티티(클래스, 모듈, 함수 등)은 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다. 예1 위의 그림처럼 창문과 기어가 수동이던 마티즈에서 창문과 기어가 자동인 쏘나타로 차종을 바꾸니 운전자의 행동에도 변화

2021년 4월 14일
·
0개의 댓글

객체 지향 5원칙 - 1. SRP

어떤 클래스를 변경해야 하는 이유는 오직 하나 뿐이어야 한다.단일 책임 원칙은 잘된 경우보다 잘못된 경우를 살펴보는 것이 이해하는 데 좋다. 예를 들어 객체 지향 세계에서 남자는 반드시 군대를 가고, 여자는 절대로 군대를 가지 않는다고 가정해 보자. 그런데 사람 클

2021년 4월 14일
·
0개의 댓글
post-thumbnail

Connection Pool

우리는 이때까지 클라이언트(사용자)가 request를 요청하고 그 요청에 따라 서버에서 Database에서 정보를 주었다. 하지만 서버와 클라이언트는 일대일 구조가 아닌 일대다 구조이다.따라서 만약에 많은 사용자가 동시에 요청을 할 경우 서버는 쉽게 과부하가 걸릴 수

2021년 4월 13일
·
0개의 댓글

DAO 와 DTO

DAO(Data Access Object)란? 실제로 DB에 접근하는 객체이다.(DB에 data를 CRUD하는 계층)이다. JPA 대부분의 기본적인 CRUD method를 제공하고 있다. Service와 DB를 연결하는 고리의 역할을 한다. DTO(Data Tra

2021년 4월 13일
·
0개의 댓글
post-thumbnail

JDBC

자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이터를 하는 방법을 제공한다. 위의 그림에서 데이터베이스는 Mysql, oracle과 같은 여러가지 데이터베이스를 호환한다는 뜻과 각 데이터 베이스에 맞는

2021년 4월 13일
·
0개의 댓글
post-thumbnail

MVC 아키텍쳐

Model, View, Controller를 분리한 패턴Model \-애플리케이션의 상태(data)를 나타낸다. \-Java Beans(DAO를 통해 MYSQL, ORACLE과 같은 데이터 베이스(Data Storage)에 접근) View \-디스플레이 부분

2021년 4월 13일
·
0개의 댓글

객체 지향 설계 5원칙 - SOLID (개요)

앞서 객체 지향의 개념과 4대 특성을 학습했다. 이제 객체 지향 프로그램을 작성할 수 있는 도구를 획득한 것이다. 도구는 그 용도에 맞게 사용해야 한다. 요리에로 비유하자면 객체 지향의 4대 특성은 요리를 만들기 위한 주방기구이고 지금 배울 객체 지향 설계 5원칙은

2021년 4월 12일
·
0개의 댓글
post-thumbnail

백준 - 수열과 쿼리 20 16903번

문제 링크 수열과 쿼리 20단순하게 문제에 접근해보자. A라는 배열에 값을 추가하고 A라는 배열 안에 있는 항목 중 하나를 삭제하고 각 항목 각각에 대해서 xor연산을 한다고 한다면 엄청난 시간 복잡도가 걸릴 것이다. 특히 이 xor 연산은 기존에 입력받은 수를 이진

2021년 4월 12일
·
0개의 댓글

Cookies

쿠키란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되어있는 작은 기록 정보 파일을 일컫는다.사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이

2021년 4월 9일
·
0개의 댓글

Session

세션은 쿠키를 기반으로 하고 있지만, 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측에서 관리합니다.서버에서 클라이언트를 구분하기 위해 세션 ID를 부여하며 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증상태를 유지합니다. 물론 접속

2021년 4월 9일
·
0개의 댓글
post-thumbnail

Leetcode 336. Palindrome Pairs

문제 링크 : leetcode 336 문제문제: 단어리스트에서 wordsi + wordj가 펠린드롬이 되는 모든 인덱스 조합(i,j)를 구하라. 풀이 1.(브루트 포스) 두 단어를 모두 합쳐보고 그 단어가 펠린드롬인지 확인하였다. 하지만 결과는 Runtime Error

2021년 4월 8일
·
0개의 댓글

생성자

클래스의 인스턴스, 즉 객체를 만들 때마다 new 키워드를 사용한다. new 클래스명()을 자세히 보면 열고 닫는 소괄호가 보인다. 이전에 사용했던 열고 닫는 소괄호는 메섣를 의미하는 것이었다. 클래스명에 붙은 소괄호는 뭔가 다른 뜻이 있는 걸까? 아니다 클래스명()도

2021년 4월 8일
·
0개의 댓글

abstract 키워드 - 추상 메서드와 추상 클래스

추상 메서드(Abstract Method)를 간단하게 설명하면 선언부는 있는데 구현부가 없는 메서드를 말한다. 추상 메서드를 하나라도 갖고 있는 클래스는 반드시 추상 클래스(Abstract Class)로 선언해야한다. 물론 추상 메서드 없이도 추상 클래스를 선언할 수

2021년 4월 8일
·
0개의 댓글
post-thumbnail

참조 변수의 복사

기본 자료형 변수를 복사하는 경우 Call By Value(값에 의한 호출)에 이해 그 값이 복사되며 두 개의 변수는 서로에게 영향을 주지 않는다. 예) Call By Value위의 코드를 보면 a와 b는 아무런 관련이 없다는 것을 알 수 있다. 그렇다면 기본 자료형

2021년 4월 8일
·
0개의 댓글