프로그래머스 - 동물 수 구하기(SQL)
·
IT/알고리즘
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. 예시 예를 들어 ANIMAL_INS 테이블이 다음과 같다면 동물 보호소에 들어온 동물은 4마리입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다. ※ 컬럼 이름(위 예제에서는 count)은 일치하지 않아도 됩니다. 풀이 SELECT C..
프로그래머스 - 수식 최대화 (c++)
·
IT/알고리즘
문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다. 해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, 참가자의 미션은 전달받은 수식에 포함된 연산자의 우선순위를 자유롭게 재정의하여 만들 수 있는 가장 큰 숫자를 제출하는 것입니다. 단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 즉, + > - > * 또는 - > * > + 등과 같이 연산자 우선순위를 정의할 수 있으나 +,* > - 또는 * > +,-처럼 2개 이상의 연산자..
10. boilerplate - 로그아웃 구현
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#15 LOGOUT 이번 강의에서는 로그아웃을 구현한다. 로그인시 사용자에게 토큰이 발급되고 사용자는 이 토큰을 이용해 로그인 상태를 유지하는데 로그아웃시에는 이 토큰을 사용자 DB에서 제거하는 작업을 진행하여 로그아웃을 구현한다. 1. index.ts에 logout api를 추가한다. auth 미들웨어에서 user정보가 request에 담겨진다. 이 request에 담긴 user의 id를 통해 DB를 갱신한다. 이 때, token값을 빈 값으로 채운다. app.get("/api/user/logout", auth, (req:express.Request, res:express.Response)=>{ User.findOneAndUpd..
독서 - 아몬드
·
일상/독서
왜 항상 책 읽을 시간이 없을까 ... 사실 그 시간엔 다른 걸 하면서 놀고 쉬고 하기 때문이고 시간은 항상 있었다 막상 쉴 때 책에 손이 가지 않는 건 아직 습관이 되지 않아서 조금씩이라도 읽으려는 노력을 하다보면 언젠가는 잠자듯이 자연스레 읽게 되지 않을까 제목 '아몬드' 최근에 아주 오랜만에 책을 읽었다. 주인공은 남들과는 조금 특별하게 태어났다. 감정을 느끼는 뇌의 크기가 작아 아무런 감정을 느끼지 못했다. 주인공의 엄마는 포기하지 않고 교육을 통해 감정을 여러 상황별로 '암기' 하게 했다. 예를 들어, 누군가가 웃으며 인사를 하면 똑같이 웃으며 인사를 한다. 물론 주인공은 아무런 감정을 느끼지 못하기 때문에 인위적인 웃음을 지어 웃는 모양을 만들어 내야 했다. 그렇다고 사이코패스는 아니었다. 사..
프로그래머스 - 행렬의 곱셈 (c++)
·
IT/알고리즘
문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 풀이 #include #define PB push_back using namespace std; typedef vector vvi; int cul(int x, int y, vvi arr1, vvi arr2){ int sum = 0; for(int i=0; i
프로그래머스 - 피보나치 수(c++)
·
IT/알고리즘
문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, 3, 5, ... 와 같이 이어집니다..
프로그래머스 - 최솟값 만들기(c++)
·
IT/알고리즘
어쩌다가 프로그램 테스터로 한달 계약직을 하게돼서 이번 주 내내 많이 바빴다 적어도 평일에는 알고리즘을 하나씩 풀려고 하는데 일 다니면서는 힘들겠거니 싶다 그래도 최대한 시간 내서 해봐야지 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 두번째 숫자인 5를 ..
9. boilerplate - 미들웨어에 authorization 추가하기
·
IT/프로젝트
boilerplate 유튜브 강의 시리즈 Blog ReactJS NodeJS#14 AUTHENTICATION MIDDLEWARE 사버의 자원을 이용하기 위해서는 사용자는 인증(Authentication)을 통해 서버로부터 허가(Authorization)를 받아야 한다. 이번 강의에서는 미들웨어를 추가하여 Authorization을 구현했다. 사용자가 로그인을 통해 발급된 token으로 인증 요청을 보내면 미들웨어에서 토큰(인증수단)을 검증하고 올바른 경우 필요한 정보(자원)를 응답해준다. 이 로직을 만드는 것이 이번 강의 내용이다. 현재 강의까지 진행된 프로젝트 구조 src/server에 middleware폴더를 추가하고 admin, auth 파일을 생성했다. 1. auth.js 사용자로부터 요청이 오면..
프로그래머스 - 최댓값과 최솟값(c++)
·
IT/알고리즘
문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 풀이 #include #include #include using namespace std; vector split(string str, char delimiter) { stringstream ss(str); string tmp; vector v; while (getline(ss, tmp, delimiter)) { v.pu..
프로그래머스 - 최솟값 구하기(SQL)
·
IT/알고리즘
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 예시 예를 들어 ANIMAL_INS 테이블이 다음과 같다면 가장 먼저 들어온 동물은 Jack이고, Jack은 2013-10-14 15:38:00에 들어왔습니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다. 풀이 SELEC..
[공부정리] Threads and Microkernels
·
IT/운영체제
Threads - A unit of execution of in a process (by a group of instructions) 프로세스 안에서 실행하는 단위 - Has an execution state (running, ready, etc) Multithreading - Operating system supports one or more threads of execution within a single process Process VS Thread Process - Have a virtual address space which holds the process image 프로세스 이미지를 저장할 가장 주소 공간을 가진다 - Protected access to processors, other proc..
프로그래머스 - 단체사진 찍기(c++)
·
IT/알고리즘
문제 설명 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 달라 어떤 순서로 설지 정하는데 시간이 오래 걸렸다. 네오는 프로도와 나란히 서기를 원했고, 튜브가 뿜은 불을 맞은 적이 있던 라이언은 튜브에게서 적어도 세 칸 이상 떨어져서 서기를 원했다. 사진을 찍고 나서 돌아오는 길에, 무지는 모두가 원하는 조건을 만족하면서도 다르게 서는 방법이 있지 않았을까 생각해보게 되었다. 각 프렌즈가 원하는 조건을 입력으로 받았을 때 모든 조건을 만족할 수 있도록 서는 경우의 수를 계산하는 프로그램을 작성해보자. 입력 형식 입력은 조건의 개수를 나타내는 정수 n과 n개의 원소로 구성..