전체 글169 [자료구조] 우선순위 큐(Priority Queue) 우선순위 큐(Priority Queue) 우선순위가 높은 데이터가 먼저 나옴 - 모든 데이터에 우선순위가 있음 - Dequeue시, 우선순위가 높은 순으로 나감 - 우선순위가 같은 경우에는 FIFO 최소 힙, 최대 힙의 삽입, 삭제와 같다. 우선순위 큐 - 구현 (1) 배열 (2) 연결 리스트 (3) 힙 enqueue() - 값을 넣는 경우 dequeue() - 값을 빼는 경우 정렬된 배열 O(N) O(1) 정렬된 연결 리스트 O(N) O(1) 힙 O(logN) O(logN) LinkedList로 우선순위 큐 구현해보기 package org.example.PriorityQueue; import java.util.Collections; import java.util.LinkedList; import jav.. 2023. 9. 29. [백준] 골드 2 보석도둑 가방에 알맞는 보석을 찾는다.. 브루트포스로 찾는 알고리즘을 구현했지만.. 시간초과가 발생했다. 정렬을 잘 이용해서 가방과 보석을 비교할때, 이미 비교한 보석은 다시 비교하지 않도록 로직을 구성해주었다. 가방은 무게를 기준으로 오름차순 정렬하고, 보석도 무게를 기준으로 오름차순을 정렬하되, 무게가 같은 경우에는 내림차순으로 정렬하도록 구현해주었다. 가방에 담을수 있는 보석들은 우선순위 큐를 사용해서 제일 가격이 비싼 보석을 찾는데 들어가는 비용을 줄이고자 우선순위 큐를 사용해서 구현해주었다. package 큰돌의터전알고리즘강의.five주차.보석도둑; import java.io.*; import java.util.*; // 3프로 시간 초과 public class Main { public static cl.. 2023. 9. 29. 면접 예상 질문 Java (1) 객체지향이란 무엇인가? (2) GC(Garbage Collector)는 무엇인가? (3) GC에 사용되는 알고리즘인 stop-the-world는 어떤 알고리즘인가? Spring (1) 스프링 프레임워크의 장점과 단점은 무엇인가? (2) DI는 어떠한 개념이고, 왜 사용하는가? (3) AOP는 어떠한 개념이고, 왜 사용하는가? Thread (1) Thread와 Process는 각각 어떠한 것이고, 차이점이 무엇인가? (2) 스레드 메모리 구조는 어떻게 되는가? (2-1) 스레드 간 공유되는 공간과 공유되지 않는 공간은 어디인가? (2-2) 메소드 내에서 선언된 변수가 위치하는 공간은 어디인가? (3) Context Switching이란 무엇인가? (3-1) Thread를 무조건 많이 사용하.. 2023. 9. 28. [Linux] 쉘 스크립트 셸 스크립트 - 셸에서 돌아가도록 작성된 스크립트 - *.sh (확장자) Shell(쉘)에서 사용할 수 있는 명령어들의 조합을 모아서 만든 배치(batch)파일 Shebang ( 주석 선언문 ) # !/bin/bash 리눅스의 표준 쉘인 bash 쉘로 스크립트를 실행하겠다. 작성 echo "Hello World" 실행권한 부여후 실행시키면 된다! 변수 #!/bin/bash NAME='LINUX' COUNT=10 // 띄어쓰기 하면 안됨 echo $NAME DIR_PATH = '/etc/tmp' $ #!/bin/bash echo $$ # shell pid echo $0 # shell script name echo $1 - $9 # shell parameter echo $# # shell parameter .. 2023. 9. 28. [Linux] 사용자와 그룹 사용자 (1) 루트 계정 - 모든 권한을 가진 관리자 계정 (2) 사용자 계정 사용자 추가 $> useradd grace 사용자 조회 $> cat /etc/passwd grace : x : 1002 : 1002 :: /home/grace:bin/sh [사용자명] : [비밀번호] : [uid] : [gid] : [계정설명] : [홈디렉토리] : [셀] 그룹 사용자를 묶어서 관리할 수 있는 단위 그룹 조회 $> cat /etc/group 그룹 추가 $> groupadd new_group 그룹에 신규 사용차 추가 $> userad -g 1002 grace 사용자 $> whoami 계정 전환 $> su - $> su grace 전환하고자 하는 사용자 이름을 입력 "-" : 루트 사용자를 의미한다. 권한(Perm.. 2023. 9. 28. [Linux] 기본적인 명령 상대경로 vs 절대경로 ./ 현재 위치 ../ 현재 위치에서 한단계 상단위치 ../../ 현재 위치에서 두단계 상단위치 / 루트 경로 상대 경로 : 현재 파일이 존재하는 디렉토리가 기준 절대 경로 : 최상위 디렉토리부터 해당 파일까지 경유한 모든 경로를 표시 cat 하나 혹은 그 이상 파일들의 내용 출력 file1, file2 내용출력 /etc/passwd 의 내용 출력 ls 디렉토리 콘텐츠를 열거 # 단순 나열 $ ls $ ls /dir # 상세 목록 나열 $ ls -l # 시간 역순 정렬 나열 $ ls -lrt pwd 현재 작업 중인 디렉토리 위치를 출력 cp 파일 복사 # file1을 file2라는 이름으로 복사 $ cp file1 file2 # n개의 파일을 dir 디렉토리로 복사 $ cp fil.. 2023. 9. 28. [Linux] linux 리눅스 - 리눅스 커널 - 오픈소스 UNIX 계열의 운영체제 - RedHat, Ubuntu, Debian 커널 자원을 꼼꼼하게 하나하나 핸들링하지 않아도 커널 레이어가 알아서 해준다. root directory를 기반으로 계층적으로 파일을 관리한다. Docker로 실행하기 2023. 9. 28. [Docker] 명령어 docker image 이미지 가져오기 $ docker image pull # 레지스트리에서 이미지 가져오기 $ docker image rm # 이미지 제거 이미지 조회 $ docker image ls # 이미지 조회 $ docker images docker build 도커 파일로부터 도커 이미지를 빌드 하는 명령어 $ docker build docker start/restart/stop 컨테이너 실행 및 종료 명령 $ docker start CONTAINER_ID $ docker restart CONTAINER_ID $ docker stop CONTAINER_ID docker run 컨테이너 실행(create + run) $ docker run [OPTIONS] IMAGE docker ps 컨테이너 리.. 2023. 9. 28. [Docker] Docker란 Docker를 사용하는 이유 (1) 운영 표준화 Container식 어플리케이션을 사용 표준화된 실행 환경으로 인해 일관된 결과를 보장 (2) 높은 이식성 온프레미스 -> 클라우드 이전 등등 프로그램의 이식자체가 굉장히 쉬워진다. ex) macOS개발 -> 도커 -> 리눅스 환경으로 배포 docker를 사용하지 않으면 로컬 개발 환경과 실제 배포 환경이 달라 번거로워진다. (3) 비용 절감 컨테이너 (1) 시스템에 다른 애플리케이션이나 다른 부분들에 영향을 주지 않는 격리된 공간 (2) 실행환경, 라이브러리, 시스템 도구, 코드 등을 포함 이미지 컨테이너 생성과 관련된 내용이 포함된 템플릿 read-only 도커 레지스트리 : 도커 이미지를 저장하고 다운로드 할 수 있는 저장소 도커가 있기전에 먼저 존재.. 2023. 9. 28. 이전 1 2 3 4 ··· 19 다음