profile
이 길 아니면 안 되는 개발자 지망생
post-thumbnail

합병 정렬(merge sort)

합병 정렬이란?합병 정렬의 개념은1\. 2개의 균등한 크기의 부분 배열로 배열 나누기2\. 각각의 부분 배열 정렬하기3\. 정렬된 부분 배열을 합하면서 정렬된 하나의 배열 만들기라고 볼 수 있다.정렬은 '두 부분 배열을 합할 때' 이루어지며 2번에서 각각의 부분 배열을

2023년 3월 24일
·
1개의 댓글
·
post-thumbnail

큐(Queue)

큐(Queue) FIFO(First In First Out) : 먼저 들어간 데이터가 먼저 나오는 선입선출 방식의 자료구조 대기열과 같이 입장한 시간 순서에 따라서 처리되어야 하는 경우에 사용한다. 큐의 대표적 기능 add : 큐에 데이터를 추가(큐가 꽉 찬 경우

2023년 3월 23일
·
3개의 댓글
·
post-thumbnail

스택(Stack)

스택(Stack) LIFO(Last In First Out) : 가장 나중에 들어간 데이터가 가장 먼저 나오는 자료 구조이다. N번째로 들어간 데이터가 나오기 전까지 1 ~ N-1번째 데이터들을 꺼내오는 것은 불가능하다. 스택과 유사한 구조를 주변에서 찾아본다면 과자 '프링글스'를 예로 들고 싶다. 우리가 프링글스를 먹을 때 가장 먼저 통에서 꺼내는 감...

2023년 3월 22일
·
3개의 댓글
·

[TIL] 항해99 SQL스터디 2일차

✍ 오늘 공부한 내용 > JOIN 테이블을 서로 합치는 방법이다. 합칠 때는 그 기준이 되는 Key 필드를 설정해주어야 하고 관계형 DB 특성 상 보통 Primary Key, Foreign Key가 그 기준이 된다. JOIN의 대표적인 예로는 INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN이 있다. INNER JOIN...

2023년 3월 22일
·
1개의 댓글
·

[TIL] 항해99 SQL스터디 1일차

✍ 오늘 공부한 내용 > 데이터 조회하기 원하는 테이블에서 원하는 필드들의 데이터를 조회하는 방법이다. *(asterisk)를 사용하면 모든 필드를 조회할 수 있다. > 조건 걸어서 조회하기 숫자 조건 (초과), =(이상), =(같다) between a and

2023년 3월 20일
·
0개의 댓글
·

[TIL] 항해99 사전스터디(알고리즘)를 마치며

약 2주간 팀원들과 함께하는 스터디가 끝났는데 중간에 하루 개인 사정으로 참여하지 못한 날이 있었다.고작 하루라고 생각했지만 코딩을 전혀 하지 않고 다음날 하려고 하니 어색함이 느껴졌고, 알고리즘 문제를 풀 때도 생각처럼 머리가 잘 굴러가지 않는 느낌을 받았다.앞으로는

2023년 3월 20일
·
0개의 댓글
·

[TIL] 항해 99 사전스터디(알고리즘) 11일차

합병 정렬(Merge Sort)합병 정렬의 기본 개념은배열을 2개로 나눈다.각각의 부분 배열을 정렬시킨다.두 부분 배열을 합하면서 정렬시킨다.라고 볼 수 있다.이 과정 중 2번에서 각각의 부분 배열을 '정렬'시켜야 하기에 정렬이 안 됐다면 해당 부분 배열에 대해서 1,

2023년 3월 17일
·
0개의 댓글
·

[TIL] 항해 99 사전스터디(알고리즘) 10일차

오늘도 동적계획법과 관련된 문제를 풀었다.문제를 보고 어떻게 풀어야겠다라는 생각이 바로 떠오르는 경우에 동적계획법의 풀이 방식을 활용해서 쉽게 해결을 하는데 그렇지 않은 경우에는 동적계획법을 적용해서 푸는 게 아니라 그냥 어떻게든 푸려고 하게 된다.문제를 풀기 전에 어

2023년 3월 17일
·
0개의 댓글
·

백준 알고리즘 1436 - 영화감독 숌

666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스

2023년 3월 15일
·
0개의 댓글
·

백준 알고리즘 1934번 - 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다.두 자연수 A와 B가 주어

2023년 3월 15일
·
0개의 댓글
·

백준 알고리즘 11399번 - ATM

인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게

2023년 3월 15일
·
0개의 댓글
·

[TIL] 항해 99 사전스터디(알고리즘) 9일차

✍ 오늘 공부한 내용 > 2차원 배열을 이용하는 동적계획법 오늘 푼 알고리즘 문제 중 RGB거리라는 문제가 있었는데 거기서 2차원 배열을 이용해 동적계획법을 구현했다. 처음에는 1차원 배열로 풀려고 했는데 그러다보니 dp[N-1]을 구했더라도 이것이 곧 dp[N]을

2023년 3월 15일
·
0개의 댓글
·

[TIL] 항해 99 사전스터디(알고리즘) 8일차

동적계획법(Dynamic Programming)메모리를 적절히 사용하여 수행 시간 효율성을 향상시키는 방법이다.풀어야 하는 문제가 2가지 조건을 만족할 때 사용할 수 있다.최적 부분 구조큰 문제를 작은 문제로 나누고 작은 문제의 답을 모아 큰 문제의 답을 구할 수 있다

2023년 3월 14일
·
0개의 댓글
·

[TIL] 항해99 사전스터디(알고리즘) 6일차

✍ 오늘 공부한 내용 > 재귀함수 여기서부터 작성 > 유클리드 호제법 여기서부터 작성 > 메소드 오버로딩(Method Overloading) 여기서부터 작성 😱 어려웠던 내용 재귀함수가 동작하는 방식이 한 번에 와닿지 않음. 🧐 궁금한 내용과 부족한 내

2023년 3월 11일
·
0개의 댓글
·

[TIL] 항해99 사전스터디(알고리즘) 5일차

그리디 알고리즘미래는 생각하지 않고 당장 지금 순간에서 최선의 선택을 하는 방법이다.덧셈을 통해 얻을 수 있는 최대값을 도출하는 문제에서 왼쪽은 최적해이고 오른쪽은 그리디한 방법으로 찾은 해이다.그리디 알고리즘은 위 문제를 다음과 같이 푼다.3 < 10 ? yes

2023년 3월 10일
·
1개의 댓글
·

백준 알고리즘 1541번 - 잃어버린 괄호

세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.1\. 주어진 수

2023년 3월 10일
·
0개의 댓글
·

백준 알고리즘 11050번 - 이항 계수 1

자연수 $$N$$과 정수 $$K$$가 주어졌을 때 이항 계수 $\\binom{N}{K}$를 구하는 프로그램을 작성하시오.$\\binom{N}{K} = \\frac{N!}{K!(N-K)!}$반복문을 이용해 값을 계산하자

2023년 3월 10일
·
0개의 댓글
·

백준 알고리즘 11047번 - 동전 0

준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.동전의 가치 A{i}가 오름차순으로 주어진다. (1 ≤ Ai ≤

2023년 3월 10일
·
0개의 댓글
·

백준 알고리즘 11279번 - 최대 힙

널리 잘 알려진 자료구조 중 최대 힙이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.배열에 자연수 x를 넣는다.배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.배열을 이용해

2023년 3월 9일
·
0개의 댓글
·

백준 알고리즘 4949번 - 균형잡힌 세상

세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("\

2023년 3월 9일
·
0개의 댓글
·