전체 글 44

[백준] 1904번 : 01타일 (JAVA)

동적 계획법(DP)을 공부한 뒤, DP관련 문제인 1904번 : 신나는 함수 실행을 풀었다. 동적 계획법에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/23 [알고리즘] 동적 계획법 (Dynamic Programming) ❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하 lucy1215.tistory.com 바로 이전, 동적 계획법 관련 문제는 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/25 [백준] 9184번 : 신나는 함수 실행 (JAVA) 동적 ..

백준 2023.01.18

[자료구조] 큐 Queue, 덱 Deque

저번에 자료구조 중 스택에 대해 공부를 했었다. 이번에는 자료구조 삼인방 스택, 큐, 덱 삼인방 중 큐 (Queue), 덱 (Deque)에 대해서 공부를 하였다! 큐(Queue) 한쪽에서만 데이터의 삽입 삭제가 이루어졌던 스택과 달리 큐는 양쪽 끝에서 데이터의 삽입과 삭제가 각각 이루어진다. FIFO (First In First Out) 으로 동작하며 데이터가 삽입되는 곳을 rear, 데이터가 제거되는 곳을 front 라 한다. 데이터를 삭제하기 전에는 큐가 empty 한지, 큐에 데이터를 추가하려 할 때는 큐가 full 인지 확인 후 진행해야 한다. 큐의 핵심 연산 1. enqueue(x) : 큐에 데이터를 넣는 연산. 주어진 요소 x를 큐의 맨 뒤에 추가한다. 2. dequeue() : 큐가 비어있지..

자료구조 2023.01.16

[백준] 9184번 : 신나는 함수 실행 (JAVA)

동적 계획법(DP)을 공부한 뒤, DP관련 문제인 9184번 : 신나는 함수 실행을 풀었다. 동적 계획법에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/23 [알고리즘] 동적 계획법 (Dynamic Programming) ❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하 lucy1215.tistory.com 동적계획법(DP)을 이용하여 a,b,c가 주어질 때, 재귀함수 w(a,b,c)를 출력해라. 문제에 코드 식이 많아 복잡해 보이지만 어렵지 않은 문제였다. 그냥 문제의 코드 식을 그대로 사용..

백준 2023.01.12

[자료구조] int 와 Integer 의 차이점?

백준에서 문제를 풀다가 궁금증이 생겼다. 정수형 배열을 선언할 때, 보통 아래 방식으로 선언했다. int arr[] = new int[10]; 하지만 문제를 제출하니 런타임에러가 떴고 찾아보니 Integer arr[] = new Integer[10]; 위와 같이 선언을 해야한다는 것이었다... 약 4년 동안 int와 Integer를 항상 사용했지만 이 2개의 차이점을 알지 못하고 있었다는 것이 충격이었다. 그래서 이 포스팅을 적게 되었다.... 1. int 란? (Primitive Type) int는 변수의 타입 (data type)이다. 변수(variable)는 '값을 저장할 수 있는 메모리 상의 공간'을 의미한다. int a = 3; char firstName = 'H'; 위에서 a 와 firstNa..

자료구조 2023.01.09

[알고리즘] 동적 계획법 (Dynamic Programming)

❓동적 계획법 (또는 다이나믹 프로그래밍 , DP)란? 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하나의 문제해결 패러다임으로 볼 수 있다. 큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용한다. 👉DP를 쓰는 이유 사실 일반적인 재귀(Naive Recursion) 방식 또한 DP와 매우 유사하다. 큰 차이점은 일반적인 재귀를 단순히 사용 시 동일한 작은 문제들이 여러 번 반복되어 비효율적인 계산이 될 수 있다는 것이다. 예를 들어 피보나치 수열을 살펴보자. 피보나치 수열은 아래와 같다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141 ... 피보나치 수를 구하고 싶을 때 재귀로..

알고리즘 2023.01.09

[백준] 1874번 : 스택 수열 (JAVA)

드디어 스택 마지막 문제인 1874번 : 스택 수열을 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 4949번 : 균형잡힌 세상 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/21 [백준] 4949번 : 균형잡힌 세상 (JAVA) 점점..

백준 2023.01.09

[백준] 4949번 : 균형잡힌 세상 (JAVA)

점점 스택 관련 문제 막바지에 다다른다. 4번째 문제인 4949번 : 균형잡힌 세상 을 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 9012번 : 괄호 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/20 [백준] 9012번 : 괄호 ..

백준 2023.01.09

[백준] 9012번 : 괄호 (JAVA)

스택 관련 5문제 중 벌써 3번째 문제인 9012번 : 괄호 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 10773번 : 제로 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/19 [백준] 10773번 : 제로 (JAVA) 10..

백준 2023.01.09

[백준] 10773번 : 제로 (JAVA)

10828번 : 스택에 이어서 다음 스택 관련 문제인 10773번 : 제로 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 바로 앞 문제인 10828번 : 스택 에 대한 내용은 바로 앞의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/18 [백준] 10828번 : 스택 (..

백준 2023.01.09

[백준] 10828번 : 스택 (JAVA)

바로 전에 스택을 공부한 뒤, 그 내용을 바탕으로 스택 문제 1번인 10828번 : 스택 문제를 풀었다. 스택에 대해 아직 이해하지 못했다면 다음의 블로그에서 확인하면 된다. https://lucy1215.tistory.com/17 [자료구조] 스택 (Stack) 🚩스택 (Stack)의 개념 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO (Last In First Out) 형식의 자료 구조 ❓스택 (Stack)의 특징 1. 먼저 들어간 자료가 나중에 나옴. LIFO구조 2. 시스템 해킹에서 버퍼오버 lucy1215.tistory.com 스택을 이용하여 push (number) -> stack에 number를 push pop -> stack의 맨 위 수를 pop / 없을 경우 -1 size -> sta..

백준 2023.01.09