전체 글 (62) 썸네일형 리스트형 [알고리즘] 순열(Permutation) 계기 SSAFY 교육 정리 순열(Permutation) 서로 다른 것들 중 몇 개를 뽑아서 한 줄로 나열하는 것 서로 다른 n개 중 r개를 택하는 순열은 아래와 같이 표현한다. 그리고 nPr은 다음과 같은 식이 성립한다 nPn = n!이라고 표기하며 Factorial이라 부른다. 다수의 알고리즘 문제들은 순서화된 요소들의 집합에서 최선의 방법을 찾는 것과 관련 있다. 예> TSP(Traveling Salesperson Problem, 외판원 순회) N개의 요소들에 대해서 n!개의 순열들이 존재한다. 12! = 479,001,600 n > 12 인 경우, 시간 복잡도 폭발적으로 ↑ 단순하게 순열을 생성하는 방법 예) {1, 2, 3}을 포함하는 모든 순열을 생성하는 함수 동일한 숫자가 포함되지 않았을 때,.. [알고리즘] 부분집합 & 조합 + 비트 연산자 개요 SSAFY 교육 정리 부분집합 (Powerset) 비트 연산자 연산자 연산자의 기능 & 비트 단위로 AND 연산 예) num1 & num2 | 비트 단위로 OR 연산을 한다. 예) num1 | num2 ^ 비트 단위로 XOR 연산을 한다. (같으면 0 다르면 1) 예) num1 ^ num2 ~ 단항 연산자로서 피연산자의 모든 비트를 반전시킨다. 예) ~num > 2 부분집합의 수 - 집합의 원소가 n개일 때, 공집합을 포함한 부분집합의 수는 2ⁿ개 - 이는 각 원소를 부분집합에 포함시키거나 포함시키지 않는 2가지 경우를 모든 원소에 적용한 경우의 수와 같다. - 예) 반복문을 이용하여 부분집합 구하기 - 의사코드 sel = {0, 0, 0, 0} for i in 0 to 1: sel[0] = i /.. [CS 전공지식 노트] 1장 디자인 패턴과 프로그래밍 패러다임 - 1.1 디자인 패턴 1.1.1 싱글톤 패턴 1.1 디자인 패턴 디자인 패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 1.1.1 싱글톤 패턴 싱글톤 패턴(Singleton pattern)이란? 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 하나의 클래스를 기반으로 여러 개의 개별적 인스턴스를 만들 수 있지만 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰림. 보통 데이터베이스 연결 모듈에 많이 사용. 장점 : 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하여 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어듦. 단점 : 의존성이 높아짐. JavaScript cons.. [개발일기] 2023.03.20 (월) 국제 행복의 날! 오늘은 국제 행복의 날이라고 한다!!! 국제 행복을 도모하는 김에 갓생 다시 도전해보고자 한다! 현재 삼성 SW 아카데미에 다니면서 알고리즘 스터디 2개 웹 프로젝트 1개를 진행하고 있었는데... 오늘 CS 스터디를 시작하면서 아무래도 기록을 해야겠다고 생각했다. 얼마 전에 임시저장 해두었던 80여 개의 포스팅이 다 날아갔다는 사실을 알고 다시는 안 들어오고 싶었던 티스토리지만.. 언제까지고 기술 블로그를 놓을 수는 없기도 하고 요즘 글 쓰는 능력이나 어휘력도 점점 사라져가는 것 같아서 다시 시작할 거다!!! 3월 초에 다리 다치고 헬스도 못 다녔는데 4월 초부터 다시 헬스도 다니고 8시까지 캠퍼스 등교해서 사람들이랑 스터디 하는 거도 계속 해서 진짜 찐 갓생 살기!!! 그러려면 지금까지 + 앞으로의 일.. [VSCode] "git fatal: is outside repository at" 오류 해결 CSS 배우면서 교육 기관에서 VSCode를 쓰게 되어 개인 노트북에도 VSCode로 문제를 받아와서 gitlab에 올리려는데 자꾸 git add가 안 됐다. 터미널을 통해 git add를 하면 되는데 좌측 SOURCE CONTROL을 사용하려고 하면 Git: fatal: /Users/[directory]/Documents/개발/front_hw_02_2/css/main.css: '/Users/[directory]/Documents/개발/front_hw_02_2/css/main.css' is outside repository at '/Users/[directory]/Documents/개발/front_hw_02_2' 이런 오류가 났다. 교육기관의 windows 환경에선 이런 일이 전혀 없었는데.. 하고 내가.. [Docker] 프로젝트를 docker 컨테이너화 하기 - 1단계: 설치하기 + 실행하기 macOS 기준으로 설치해보겠다. 계기 현재 만들어 놓은 프로젝트를 docker 기반으로 컨테이너화 하여 배포할 수 있도록 변경하는 todo를 할당 받았다. filebeat와 logstash, 프로젝트 자체를 각각 컨테이너화 하고 서비스 정상 동작 여부 및 es 로그 데이터 입고 여부까지 확인하면 된다. 현재 프로젝트는 ec2 인스턴스에서 관리하고 있다. 이를 로컬에서 먼저 컨테이너화 해보기 위해 docker를 설치해보고자 한다. 설치하기 docker를 설치하기 위해 docker 공식 사이트에 접속하여 docker docs -> get Docker에 들어갔다. 이 화면에서 본인의 운영체제를 선택하면 된다. 나는 macOS이므로 [Docker Desktop for Mac]을 클릭했다. 그러면 이 사이트로 .. [Node.js] moment 모듈 설치하기 + 사용하기 계기 elasticsearch log 중 한 달이 된 log를 매일 새벽 1시에 지우는 로직이 필요했다. jenkins job으로 aws lambda를 호출하여 elasticsearch의 delete api 사용하기로 했다. 이 과정에서 aws lambda는 node.js로 구현했는데, 이 때 한 달 전 로그를 지우기 위해 한 달 전 날짜를 구하는 방법이 필요했다. 그냥 검색해서 const today = new Date(); const aMonthAgo = new Date(today.setMonth(today.getMonth())); const year = aMonthAgo.getFullYear(); let month = aMonthAgo.getMonth(); month = month >= 10 ? mo.. [AWS] 2022년 8월 AWS 개발자 커뮤니티 세션 (AWS 개발자 키트, 목베개) 후기 지난 7월 31일, 나는 감사하게도 현업에서 개발 중이신 분들의 사이드 프로젝트에 참여할 수 있는 기회가 생겼다. 이미 프로젝트가 한 달 반 정도 진행된 상태였고, 나는 비전공자로서 2주 정도의 파이썬 독학과 6개월 정도의 자바 개발자 양성 과정을 수료한 것이 개발 경험이랄 것의 전부였다. 때문에 모집 공고를 보고 지원한 것도 지금 생각하면 매우 뻔뻔한 것이었지만, 배우고자 하는 의지만 있다면 몰라도 괜찮다는 문구를 보고 그냥 객기로 지원했다. 왜인진 몰라도 아무튼 나는 붙었고, 너무나도 감사한 마음에 정말 열과 성을 불태운 한달 반이 후딱 지나갔다. 기술 스택 차이가 너무 심했기 때문에 그 차이를 좁혀야 한다는 마음이 날 너무 조급하게 했다. 그 중 하나가 AWS였다. AWS.. 말로만 들어봤고 대충 .. 이전 1 2 3 4 5 6 7 8 다음