분류 전체보기 70

[programmers] 두 큐 합 같게 만들기

문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 길이가 같은 두 개의 큐를 나타내는 정수 배열 queue1, queue2가 매개변수로 주어집니다. 각 큐의 원소 합을 같게 만들기 위해 필요한 작업의 최소 횟수를 return 하도록 solution 함수를 완성해주세요. 단, 어떤 방법으로도 각 큐의 원소 합을 같게 만들 수 없는 경우, -1을 return 해주세요. 제한사항 1 ≤ queue1의 길이 = queue2의 길..

알고리듬/문제 2023.05.09

[programmers] 성격 유형 검사하기

문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 각 질문은 1가지 지표로 성격 유형 점수를 판단합니다. 선택지성격 유형 점수 매우 비동의 네오형 ..

알고리듬/문제 2023.05.08

[TelegramAlarm] To-Do List (4)

불편한 점 입출금이 불가능한 코인은 격차가 벌어지는 일이 많이 있는데 이때 알림이 계속 온다. (★★★★★) 예상 수익이 설정한 기준치 이상이 됐을 때 알림이 울리게 해 뒀는데 기준치를 수정하려면 코드를 수정해야 한다. (★★) 이벤트가 발생했을때 해당 코인이 여러 거래소에 상장해 있는 경우 가장 저렴하게 구매할 수 있는 거래소 하나를 기준으로 계산을 진행했는데 해당 거래소에 돈이 없어서 다른 거래소를 기준으로 삼고 싶을 때가 있다. (★) 당장 완성하는데 급급해서 예외처리를 제대로 못했다... 중간에 한번씩 꺼진다. (★★★) To-Do List 입출금이 불가능한 코인은 격차가 벌어지는 일이 많이 있는데 이때 알림이 계속 온다. 텔레그램 봇 명령어로 블랙리스트 추가/삭제하는 기능 추가 (/addbl k..

[baekjoon] 5573

산책 문제 상근이는 건강을 위해 산책을 하려고 한다. 상근이가 사는 마을은 아래 그림과 같이 가로 방향 도로가 (H+1)개, 세로 방향 도로가 (W+1)개가 바둑판 모양으로 배치되어 있다. 상근이네 집은 가장 왼쪽 위 교차로에 있으며, 이곳에서 산책을 시작한다. (a,b)는 위쪽에서 a번째, 왼쪽에서 b번째에 있는 교차로이다. 예를 들어, 상근이네 집은 교차로 (1,1)에 있다. 상근이는 산책 경로가 매일 달라야 질리지 않고 산책을 할 수 있다고 생각한다. 따라서, (1,1)에서 (H,W)까지 H × W개 교차로에 오른쪽을 뜻하는 오 또는 아래를 뜻하는 아를 쓰고, 다음과 같은 규칙에 따라서 산책을 하기로 했다. 교차로에 쓰여 있는 문자가 오라면, 이 문자를 지우고 아를 쓴다. 그 다음에 오른쪽으로 진행..

알고리듬/문제 2023.05.05

[baekjoon] 17835

면접보는 승범이네 문제 마포구에는 모든 대학생이 입사를 희망하는 굴지의 대기업 ㈜승범이네 본사가 자리를 잡고 있다. 승범이는 ㈜승범이네의 사장인데, 일을 못 하는 직원들에게 화가 난 나머지 전 직원을 해고하고 신입사원을 뽑으려 한다. 1차 서류전형이 끝난 뒤 합격자들은 면접을 준비하게 되었다. 면접자들은 서로 다른 N개의 도시에 거주한다. 승범이는 면접자들의 편의를 위해 거주 중인 N개 도시 중 K개의 도시에 면접장을 배치했다. 도시끼리는 단방향 도로로 연결되며, 거리는 서로 다를 수 있다. 어떤 두 도시 사이에는 도로가 없을 수도, 여러 개가 있을 수도 있다. 또한 어떤 도시에서든 적어도 하나의 면접장까지 갈 수 있는 경로가 항상 존재한다. 모든 면접자는 본인의 도시에서 출발하여 가장 가까운 면접장으로..

알고리듬/문제 2023.05.04

[baekjoon] 1655

가운데를 말해요 문제 백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠 때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 백준이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그다음 N 줄에 걸쳐서 백준이가 외치..

알고리듬/문제 2023.05.03

[javascript] var, let, const 뭐가 다르지?

ES6에서 변수 선언 키워드로 let과 const가 추가되었다. var로도 변수 선언이 가능했는데 ES6에서는 왜 let과 const를 추가했을까. var의 문제점 1. 중복 선언 가능 var name = 'narme'; console.log(name);//narme var name = 'narmeee' console.log(name);//narmeee 2. 선언 전 참조 가능(Hoisting) console.log(name);//undefined var name = 'narme'; Hoisting? 네이버 영어사전에서 hoisting의 뜻은 "끌어올리기, 들어 올려 나르기"이다. Hoisting은 코드가 실행되기 전에 변수선언과 함수선언이 해당 스코프의 최상단으로 끌어올려진 것 같게끔 만드는 것이다. ..

공부/javascript 2023.05.02

[baekjoon] 18223

민준이와 마산 그리고 건우 문제 종강을 맞은 민준이는 고향인 마산으로 내려갈 계획을 짜고 있었다. 늘 그랬듯, 마산으로 갈 버스를 예약하려던 순간 민준이는 집으로 가는 다른 방법이 떠올랐다. 그것은 직접 지도를 보고 고향으로 가는 가장 짧은 길을 찾는 것이다. 그때, 먼저 고향으로 내려갔던 친구인 건우에게 연락이 왔다. 건우는 고향으로 내려가던 중 알 수 없는 일에 휘말려 외딴곳에 혼자 남겨지게 되었다. 건우는 유일한 구세주인 민준이에게 도움을 청한 것이었다. 그러나 마산의 남자인 민준이에게는 마산이 먼저였다. 민준이는 처량한 건우를 무시한 채 고향으로 떠나려고 했지만, 만약 고향으로 가는 길에 건우가 있다면 겸사겸사 도움을 줄 수 있을 것 같았다. 지도는 양방향 그래프 형태로 되어있다. 출발지는 1번 ..

알고리듬/문제 2023.05.01

[TelegramAlarm] 텔래그램으로 알림 보내기 (3)

텔레그램 봇 만들기 [Node.js] 텔레그램 봇 만들기 준비물 Node.js node-telegram-bot-api telegram account 1. 봇의 아버지에게 귀중한 자식하나만 빌려줍쇼 부탁하기. 검색창에 BotFather 를 검색하면 봇아버지가 등장한다. 우리는 봇을 하나 받으면 된다. /newbot ssunarme.tistory.com 봇을 하나 데려왔으니 열심히 일을 시켜보자! 봇과 내가 있을 채널을 하나 파준다. 그리고 채널에 봇을 초대해 준다. 그다음 초대한 채널에 봇이 메시지를 보내게 하는 게 목표다 봇이 채널에 메시지를 보내려면 메시지를 보낼 채널의 아이디가 필요하다. 채널 아이디를 알아내기 위해서 getUpdates API를 사용한다. getUpdates Use this meth..

[Node.js] 텔레그램 봇 만들기

준비물 Node.js node-telegram-bot-api telegram account 1. 봇의 아버지에게 귀중한 자식하나만 빌려줍쇼 부탁하기. 검색창에 BotFather 를 검색하면 봇아버지가 등장한다. 우리는 봇을 하나 받으면 된다. /newbot을 입력하면 봇의 이름을 설정하라고 한다. (그 외의 메뉴얼) 이름은 꼭 bot 혹은 Bot으로 끝나야한다! 이제 부여된 API Token을 사용해서 다양한 기능을 이용할 수 있다. 2. Node.js 구성 우선 npm init 으로 프로젝트를 초기화 해준다. 그 다음 node-telegram-bot-api 를 설치해준다. (자세히 나온 곳) npm install node-telegram-bot-api 문서에서 제공해주는 예시 코드가 있다. (/echo..

공부/nodejs 2023.04.30