[프로그래머스/level 3] 베스트앨범 - 42579
·
코딩 테스트 정복기/프로그래머스
[level 3] 베스트앨범 - 42579문제 링크성능 요약메모리: 73.8 MB, 시간: 3.76 ms구분코딩테스트 연습 > 해시채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 26일 01:52:10문제 설명스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다.속한 노래가 많이 재생된 장르를 먼저 수록합니다.장르 내에서 많이 재생된 노래를 먼저 수록합니다.장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다.노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, ..
[프로그래머스/level 2] 의상 - 42578
·
코딩 테스트 정복기/프로그래머스
[level 2] 의상 - 42578문제 링크성능 요약메모리: 81.2 MB, 시간: 0.13 ms구분코딩테스트 연습 > 해시채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 26일 00:25:45문제 설명코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다. 종류이름 얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를..
[프로그래머스/level 1] 폰켓몬 - 1845
·
코딩 테스트 정복기/프로그래머스
[level 1] 폰켓몬 - 1845문제 링크문제 설명당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.첫 번째(3번), 두 번째(1번) 폰켓몬을 선택첫 번째(3번..
암호화 - 단방향 vs 양방향, 대칭키 vs 비대칭키(개인키/공개키), 암호화 알고리즘
·
Computer Science/Network
암호화(Encryption)란?암호기술은 중요한 정보를 읽기 어려운 값으로 변환하여 제 3자가 볼 수 없도록 하는 기술이다. 정보 보안의 핵심 원칙에는 기밀성, 무결성, 인증이 있다.기밀성(Confidentiality) : 허가받은 자만 정보에 접근할 수 있다.무결성(Integrity) : 허가받은 자만 변경해야한다.즉, 무결성은 제 3자에 의한 정보의 변경이 있는지 없는지를 확인하는 기능.인증(Authentication) : 사용자나 객체의 디지털 정체성을 식별한다.암호화란 위의 세가지 원칙중 "기밀성"을 중심으로 하는 기술이다. (그렇다고 다른 원칙들과 무관한 것은 아님)   단방향(One-Way Encryption) vs 양방향(Two-Way Encryption)평문을 암호문으로 (=암호화), 암호..
[프로그래머스/level 3] 이중우선순위큐 - 42628
·
코딩 테스트 정복기/프로그래머스
[level 3] 이중우선순위큐 - 42628문제 링크문제 설명이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.명령어수신 탑(높이)I 숫자큐에 주어진 숫자를 삽입합니다.D 1큐에서 최댓값을 삭제합니다.D -1큐에서 최솟값을 삭제합니다.이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한사항operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다.operations의 원소는 큐가 수행할 연산을 나타냅니다.원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 ..
Nginx - 설치와 conf, default 파일 설정 방법
·
Devops/웹 서버 관리
Nginx란?정적 파일들을 처리하기 위해 사용되는 http serverreverse proxy server 역할. 80번 포트로 들어오는 내용을 다른 포트로 분산시켜주기가 가능함!!비동기 이벤트 구조를 기반으로 동작한다.Event-Driven 방식:서버로 들어오는 connection 들을 Event-Handler를 통해 비동기 방식으로 처리이러한 방식으로 인해 적은 메모리로 서버를 운영할 수 있음.싱글스레드cpu가 관여하지 않는 작업(scker read / wirter, I/O 등)을 진행할 때는 기다리지않고 다른 작업 수행하고, 진행중이라면 작업이 종료되면 이벤트가 발생하면서 그 다음 작업 처리를 시작한다.Apache 는 Thread/Process 방식   Nginx 설치Linux 서버에서 Nginx ..
Github Actions으로 CICD 구축하기 (3) - React 빌드 파일 배포
·
Devops/CICD
Github Secrets 설정GitHub 리포지토리에서 Settings로 이동좌측 메뉴에서 Secrets and variables > Actions를 클릭New repository secret 버튼을 클릭Secrets 추가secret명은 특수문자 포함 불가능workflow에서 secrets. 으로 불러옴 (secrets.DOCKER_REPO)추가해야할 내용들ENV : .env에 들어갈 내용HOST_PROD : EC2 퍼블릭 IPv4 DNSPRIVATE_KEY : EC2 서버 접속 key. (key는 .pem 형식이어야 한다.)workflow 작성on: push: branches: [ "develop", "main"] pull_request: branches: [ "develop", "ma..
Github Actions으로 CICD 구축하기 (2) - Spring boot, Docker
·
Devops/CICD
OS : MacOS Sonoma 14.6.1IDE : IntelliJJava v17Spring Boot v3.3.2-----아래 내용이 전제 된 상태에서 실행한다.1. 배포를 위한 ec2 서버가 실행되어 있음. (Ubuntu 22.04 LTS)2. ec2 서버에 Docker 가 설치되어 있음.    1. Docker 사용 준비1.1 Docker repository 생성Docker hub에 접속하여 repository를 생성한다.  1.2 프로젝트 상위에 Dockerfile 생성- spring boot 프로젝트 폴더 구조- Dockerfile 내용# open jdk 17 버전의 환경을 구성한다.FROM openjdk:17-alpine# build가 될 때 JAR_FILE이라는 변수 명에 build/i..
Github Actions으로 CICD 구축하기 (1) - 시스템 아키텍처와 필요한 개념 정리
·
Devops/CICD
시스템 아키텍처위의 이미지는 이번 프로젝트의 시스템 아키텍처이다. 1. 서버를 하나만 생성한 이유돈을 절약하기 위함이다. AWS에서 서버로 나가는 비용을 절감하기 위해 서버를 하나만 사용하였다. (서버 운영 2개부터는 유료이다💸) 때문에 한 서버에 프론트/백엔드 프로젝트를 배포하였고, nginx로 프록시를 설정하여 접근 포트를 달리 하였다. 2. 백엔드에 도커를 사용하는 이유한 서버로 두개의 프로젝트를 배포하기 위해, 프로젝트 환경이 구별되어야 하는 필요성을 느꼈다. 또, 프로젝트를 진행하며 팀원들 간 개발 환경이 달라 충돌이 일어나는 경우가 있어 도커를 사용하기로 결정하였다. 3. 프론트는 도커를 사용하지 않는 이유돈을 절약하기 위해 프리티어 서버로 생성하였다. 프리티어 서버 성능이 두개의 도커 컨테..