본문 바로가기

전체 글

(164)
리눅스 강의 정리 #3 vim 에디터 modes - normal mode : Text-based 에서는 GUI 메뉴가 없으므로 short-cut으로 구현해야한다. - insert mode - command-line mode - visual mode buffer : delete, cut 삭제 vi에서의 삭제 = 임시 버퍼에 잘라내기 붙여넣기 paste p : put, 현재 행에 붙여 넣기. pu : 개행 문자가 포함된 경우에는 현재 행의 아래에 붙여 넣는다 *복사 copy * yy / :y / Y y : 행 단위 복사 undo / redo U : undo (u를 꾹 누르면 모든 수정된 결과가 되돌아감.) CTRL + R : redo vim vi vi 호환의 vim. vim종류중에 가장 적은 기능 (compact vim , tin..
리눅스 강의 정리 #2 UNIX Command Command completion : 명령행 자동 완성 기능 il8n 국제화 (internationalization) il8n에서는 UTF-8이 기본문자세트로 사용된다. 현재 Linux/UNIX command는 il8n에 맞춰서 만들어져 있다. → 따라서 LANG 환경변수 설정의 영향을 받는다. File Command path pwd print working directory cd [경로] : 경로 생략시 홈 디렉토리로 ~ : 홈 디렉토리 : 이전 경로 ls - list file file type 과 9bit로 이뤄진 mode.file mode bit는 숨겨진 3비트를 포함하여 12비트. 3비트는 SetUID, SetGID, Sticky bit를 의미한다. 보안과 관련된 허가 권한..
JVM Memory 구조 Java는 GC(Garbage Collection)라는 쓰레드를 생성하여 사용하지 않는 객체를 제거 하도록 설계하였다. 우리가 new연산자를 통해서 메모리 할당을 수행하도록 하지만, Deallocation은 JVM이 대신 수행해준다. JVM은 Heap에 만들어진 객체 중 더 이상 참조하지 않은 것들을 제거해준다. 따라서 Java 개발자들은 메모리 관리를 직접하지 않아도 된다! 개발자가 메모리 관리를 직접하진 않지만 JVM의 메모리 구조를 알아야 Java 의 특징을 잘 이해할수있다 Class Area(Method Area) : 메모리로 읽어온 클래스의 정보가 등록된다. 이때 클래스는 Class Area에 한번만 등록된다. Heap : 객체를 new 연산으로 생성하게 되면 각 객체별로 저장된다. Stack ..
Class Object Method 정리 1. Access Modifier 클래스 외부에서 클래스 내부의 멤버 변수나 메소드로의 접근을 제어하는 Keyword를 Access Modifier라고 한다. 같은 클래스 내부에서만 접근이 가능하다. -> 같은 패키지 내부에서는 private만 제외하고 모두 접근이 가능하다. default 는 같은 패키지에 속하거나 같은 클래스여야 접근이 가능하다. protected는 같은 클래스, 같은 패키지, 자손클래스에 접근이 가능하다. 상속관계가 있을때 자식클래스가 부모클래스의 protected로 접근이 가능하다. public 은 접근 제한이 전혀 없다. public > protected > default > private final 멤버필드 앞에 쓰면 값 변경이 불가능하다. 변수를 상수화 시켜주는것 메소드 앞에..
[백준] JAVA - 1535.안녕 1월 5주차 알고리즘 스터디에서 진행한 DP 문제이다. 문제에서 구하려는것은 주어진 체력안에서 얻을수있는 최대 기쁨값이다. DP로 풀수있는 문제들은 처음 주어진 문제들을 더 작은 문제들로 나눌 수 있다는것이 특징이다. 즉 이렇게 작게 나누어진 부분문제들로 이들의 답을 통해 원래 문제에 대한 답을 구할수있는것이 핵심이다. DP 에서는 부분문제들이 여러번 재사용될수있기 때문에 이들의 값을 따로 저장하는 기법(Cache, Memoization)을 잘 사용하면 효율적으로 풀수있다. 보통 DP 문제들을 보면 점화식을 세우고 이를 재귀적으로 풀이하는 코드가 많지만 나는 이 문제를 보고 재귀적으로 구현하는게 부족해서 손으로 직접 써가면서 문제를 풀었다. 마음은 재귀로 풀고싶었지만 그렇게 풀지 못해서 다른 스터디원이 ..
2021.01.29(금) Collection & Exception 자바에서는 다양한 객체를 저장해야 하는 경우가 아주 많다! 그렇기 때문에 타입을 동적으로 정해야한다. 자바의 Colletions API를 이용하면 객체의 집합을 관리할수있다. Java 1.5부터는 Generic을 도입해서 임의의 타입을 사용하는것을 가능하게 해주었는데 이를 통해 사용 시점에 다양한 Type의 객체를 담을수가 있는것이다. Collection Interface Hierarchy를 보면 인터페이스와 인터페이스간 상속이 가능한것을 알 수 있다. 대부분의 Collection Class들은 Iterator를 구현하고 있어서 각각의 Collection 객체에 접근할때는 iterator 메소드를 통해 접근할 수 있다. package com.collection; import com.abst.Circle;..
[Programmers] 더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovill..
[Programmers] 등굣길 문제 설명 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한사항 격자의 크기 m, n은 1 이상 100 이하인 자연수입니다. m과 n..