백준 10799 쇠막대기 (JAVA)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제 설명 괄호가 예제 처럼 주어질 때, () 이렇게 바로 열고 닫힌 것은 레이저 ( .... ) 인 괄호는 막대기 입니다. 이 레이저가 막대기를 총 몇번 부스는지 찾아내는 프로그램을 구현하면 됩니다. 문제에 대한 아이디어 제일 처음 생각한 아이디어는 레이저를 만나면 레이저를 ArrayList에 저장을 합니다. Stack에는 괄호를 '(' 집어넣고 ')' 이것을 만났을 때 레이저인지 판별해주고 레이저가 아니..
백준 11000 강의실 배정 (JAVA)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 문제 설명 강의의 시작 시간과 끝나는 시간을 주어졌을 때 모든 강의를 할 수 있게 몇개의 강의실을 빌려야하는지를 계산하는 프로그램을 구현해야 합니다. 문제에 대한 아이디어 이 문제는 회의실 배정문제와 유사합니다. 그래서 처음에는 인풋값을 끝나는 시간을 기준으로 오름차순 정렬을 하고 우선순위 큐에 집어 넣으면서 만약 현재 우선순위 큐에 peek 값보다 시작하는 시간이 작다면 우선순위 큐에 넣어주는 형식으로 진행을 했습니다. 예를 들어 1 3을 집..
백준 1976 여행 가자 (JAVA)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 문제 설명 도시의 노드 연결 여부가 알려주면 주어지는 여행 계획을 수행 할 수 있는지 찾는 알고리즘을 구현하는 문제입니다. 문제를 풀기 위한 아이디어 예제 입력을 보면 인접 행렬로 입력값을 주어지는 것을 알 수 있습니다. 그러므로 인접 행렬을 이용해 문제를 푸는 방식으로 생각해봤습니다. N은 최대 200 이고 M은 1000이하 인 것을 알 수 있습니다. 시간 제한이 2초 이므로 모든 노드를 돌아봐..
Amazon S3에 대해 (1)
·
클라우드&인프라/AWS 구조와 서비스
Amazon S3는 AWS에서 제공하는 객체 스토리지 서비스입니다. 인터넷을 통해 언제든지 원하는 양의 데이터를 저장하고 검색할 수 있습니다. 여기서 스토리지란 데이터를 저장하는 장소를 말하며 객체란 텍스트 파일이나 음성 파일 같은 데이터를 말합니다. 스토리지의 종류 스토리지의 종류에는 블록 스토리지(Block Storage), 파일 스토리지 (File Storage), 오브젝트 스토리지 (Object Storage)가 있습니다. S3는 위에서 말했듯이 Object Storage로 개별 데이터 단위로 데이터를 저장합니다. 또 평면 구조로 데이터를 저장합니다. 그러므로 접근이 쉽고 빠르며 확장성이 높습니다. S3의 특징 용량 무제한 : 객체당 5TB라는 제약이 있지만 객체 수나 데이터 용량에는 제한이 없다..
컨테이너의 구조와 특성
·
클라우드&인프라/AWS 구조와 서비스
시스템 아키텍처를 구성할 때 컨테이너를 정말 많이 사용하고 있습니다. 제가 써본 컨테이너로는 도커가 있습니다. 도커가 이미지를 통해 컨테이너를 잘 구성할 수 있기에 정말 많이 사용하고 있는 것 같습니다. AWS에서도 컨테이너를 지원해주는 기술이 있습니다. 오늘은 컨테이너를 공부해보고 AWS에서 어떻게 사용하는지 알아 볼 것입니다. 컨테이너란? 컨테이너는 소프트웨어를 패키지화하는 방법으로, 코드와 모든 종속성을 함께 묶어서 독립적으로 실행할 수 있는 표준 단위를 생성합니다. 컨테이너는 어떤 환경에서도 동일하게 작동하도록 설계되었습니다. 가성 머신 VS 컨테이너 제가 공부하고 있는 책에서는 가상 서버를 아파트, 컨테이너를 셰어 하우스에 비교했습니다. 가성 서버 컨테이너 1 대의 물리 서버에서 복수의 가상 서..
AWS Lambda에 대해
·
클라우드&인프라/AWS 구조와 서비스
AWS Lambda는 서버리스 컴퓨팅 서비스입니다. OS 같은 인프라를 관리할 필요가 없으므로 사용자는 프로그램 코드를 준비하고 Lambda에 업로드만 하면 됩니다. 서버리스란? 서버리스(Serverless)는 클라우드 컴퓨팅 모델 중 하나로, 개발자가 서버 인프라를 직접 관리하지 않고 애플리케이션을 구축하고 실행할 수 있는 방식을 말합니다. 서버리스는 개발자가 코드를 작성하고 업로드하기만 하면, 클라우드 공급업체가 자동으로 인프라 관리와 확장성을 처리해줍니다. Lambda란? Lambda에 대해 좀 더 자세히 공부하기 위해 저번에 공부했던 클라우드 컴퓨팅의 서비스 모델에 대해 다시 공부해 보겠습니다. 클라우드 컴퓨팅의 서비스 모델에는 SaaS, PaaS, IaaS, FaaS 등이 있습니다. 저번에는 F..