본문 바로가기

재귀4

6-3장 변수와 메서드 下 (3.7 ~ 3.12) 7. JVM의 메모리 구조 * cv는 클래스 변수, lv는 지역 변수, iv는 인스턴스 변수를 뜻한다. 메서드 영역 (method area) 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스 파일(*.class)을 읽어서 분석하여 클래스에 대한 정보를(클래스 데이터)를 이곳에 저장한다. 이 떄, 그 클래스의 클래스 변수(class variable)도 이 영역에 함께 생성된다. 힙 (heap) 인스턴스가 생성되는 공간. 프로그램 실행 중 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수(instance variable)들이 생성되는 공간이다. 호출스택 (call stack 또는 execution stack) 메서드의 작업에 필요한 메모리 공간을 제공한다. 메서드가 호출되면, 호출.. 2023. 4. 18.
🥈[백준, 1780] 종이의 개수 (Java) 문제링크 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 난이도 시간제한 2초 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 종이 9개로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을.. 2023. 4. 3.
[알고리즘] 조합(Combination) (Java) 조합이란? n개의 숫자 중에서 r개의 수를 순서 없이 뽑는 경우를 말한다. 예를 들어 3개의 숫자(1, 2, 3)에서 2개의 수를 순서 없이 뽑는 경우는 이와 같다. [1, 2] [1, 3] [2, 3] 조합의 기본 원리 조합은 기호로 nCr로 표기한다. 또한 해당 식으로 표현이 가능하다. nCr = n-1Cr-1 + n-1Cr 즉 조합은 하나의 원소를 선택한 경우 + 하나의 원소를 선택하지 않을 경우, 이 둘의 합으로 나타낸다. 예를 들어 (1,2,3)의 수에서 2개의 수를 선택하는 조합을 생각해 보자. 1을 선택하는 경우 (하나의 원소를 선택한 경우) 1을 선택하지 않는 경우 (하나의 원소를 선택하지 않을 경우) 1을 선택하는 경우 - (1, 2), (1, 3) 1을 선택했으므로 (2, 3) 두 개의.. 2023. 3. 21.
[알고리즘] DFS (Java) DFS란? Depth-First Search, 깊이 우선 탐색 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 동작 과정 1. 탐색 시작 노드를 스택에 삽입하고 방문 처리를 한다. 2. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문 처리를 한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 3. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. * 방문처리: 스택에 한 번 삽입되어 처리된 노드가 다시 삽입되지 않게 체크하는 것을 의미한다. 방문 처리를 함으로써 각 노드를 한 번씩만 처리할 수 있다. 자세히 살펴보기 일반적으로 인접한 노드 중에서 방문하지 않은 노드가 여러 개 있으면 번호가 낮은 순서부터 처리한다. 1. 시작 .. 2023. 3. 14.