본문 바로가기
[JS] 2021Dev-Matching : 로또의 최고 순위와 최저 순위 프로그래머스 LEVEL1 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77484 풀이 전략 순서와 상관없이, 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정됩니다. 코드 function solution(lottos, win_nums) { var answer = []; let zero = 0; let correct = 0; for(const num of lottos){ if(num === 0) zero++; for(const win of win_nums){ if(num === win) correct++; } } let best = 7 - (zero+correct); let worst = 7 - correct; if(best >= 7) best = 6 if(.. 2022. 6. 24.
[JS] 2022카카오 : 신고 결과 받기 프로그래머스 LEVEL2 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/92334 풀이 전략 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. - 신고 횟수에 제한은 없습니다. - 서로 다른 유저를 계속해서 신고할 수 있습니다. - 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 자기 자신을 신고하는 경우는 없습니다. 코드 function solution(id_list, report, k) { const.. 2022. 6. 23.
[JS] 2020카카오 : 수식 최대화 프로그래머스 LEVEL2 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67257 풀이 전략 단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 수식에 포함된 연산자가 2개라면 정의할 수 있는 연산자 우선순위 조합은 2! = 2가지이며, 연산자가 3개라면 3! = 6가지 조합이 가능합니다. 만약 계산된 결과가 음수라면 해당 숫자의 절댓값으로 변환하여 제출하며 제출한 숫자가 가장 큰 참가자를 우승자로 선정하며, 우승자가 제출한 숫자를 우승상금으로 지급하게 됩니다. "-56+100"처럼 피연산자가 음수인 수식도 입력으로 주어지지 않습니다. 같은 연산자끼리는 앞에 있는 것의 우선순위가 더 높습니다. 코드 function solution(expressi.. 2022. 6. 22.
[JS] 2020카카오 : 괄호 변환 프로그래머스 LEVEL2 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60058 풀이 전략 p는 '(' 와 ')' 로만 이루어진 문자열이며 길이는 2 이상 1,000 이하인 짝수입니다. 문자열 p를 이루는 '(' 와 ')' 의 개수는 항상 같습니다. 만약 p가 이미 "올바른 괄호 문자열"이라면 그대로 return 하면 됩니다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수행합니다. 3-1. 수행한 결과 .. 2022. 6. 21.
[JS] 2019카카오 : 오픈 채팅방 프로그래머스 LEVEL2 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42888 풀이 전략 닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된다 모든 유저는 [유저 아이디]로 구분한다. [유저 아이디] 사용자가 [닉네임]으로 채팅방에 입장 - "Enter [유저 아이디] [닉네임]" (ex. "Enter uid1234 Muzi") 코드 function solution(record) { var answer = []; const myHm = new Map(); for(const str of record){ const [oper, uid, nick] = str.split(' '); if(oper === 'Leave') continue; myHm.s.. 2022. 6. 20.
[JS] 2021카카오 : 메뉴 리뉴얼 프로그래머스 LEVEL2 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/72411 풀이 전략 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 또한 최소, 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다. 정답은 각 코스요리 메뉴의 구성을 문자열 형식으로 배열에 담아 사전 순으로 오름차순 정렬해서 return 해주세요. 배열의 각 원소에 저장된 문자열 또한 알파벳 오름차순으로 정렬되.. 2022. 6. 18.
아이폰 메모앱에서 노션으로 글 보내기 NotesToNotion 2 1. 단축어를 통해 메모 생성 하기. 단축어 앱에 들어가셔서 다음과 같이 메모를 생성하고 입력 요청을 받습니다. (밑의 검색창에 메모, 변수, 입력 요청을 검색하시면 위의 5개 명령은 간단히 설정하실 수 있으실 겁니다.) 2. 사전에 변수들을 넣어주기. 사실 이 변수들을 직접 설정하는 것도 좋지만 이후에 함께 사용할 경우도 있어서 하나의 사전으로 묶어주었습니다. 총 세 개의 값을 저장하는데 첫 번째, dbid 에는 저희가 이전에 저장해두었던 데이터베이스의 아이디를 value값으로 넣어주시면 됩니다. 두 번째, API URL은 노션 API문서 Create Pages부분을 보시면 POST로 보낼 URL이 적혀있습니다. 이 URL을 복사하여 붙여 넣어 주시면 됩니다. 그리고 마지막 세번째API Key에는 이전.. 2022. 6. 18.
아이폰 메모앱에서 노션으로 글 보내기 NotesToNotion 1 기능 설명. 저는 아이폰을 사용하면서 notes(메모) 앱을 자주 사용합니다. 노트북을 켜놓고 있다면 notion에 적는 편이지만, 만약 그럴 수 없는 상황일 경우 아이디어가 떠오르거나 적을 것이 생긴다면 메모 앱을 통해 적어놓고 나중에 notion으로 옮기는 편입니다. 하지만 문득, 이 과정이 번거롭게 느껴졌고 메모앱에도 글을 남기면서 notion에 업데이트를 할 수 있는 방법을 찾아보았습니다. 그렇게 찾은 영상이 바로 이 영상이었습니다. 하지만, 이영상에는 설명이 부족한 부분이 많아 다른 영상을 참고하여 제가 성공한 방법을 공유하려합니다. 1. Notion 토큰 발급. 먼저 이 곳에 접속해 개인용 토큰을 발급받아야 합니다. Create new integration을 눌러 새 integration을 만.. 2022. 6. 17.
[JS] 백준 2630번 색종이 만들기 문제 링크 https://www.acmicpc.net/problem/2630 풀이 전략 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와 마찬가지로 모두 같은 색으로 칠해져 있지 않으면 같은 방법으로 똑같은 크기의 네 개의 색종이로 나눈다. 이와 같은 과정을 잘라진 종이가 모두 하얀색 또는 모두 파란색으로 칠해져 있거나, 하나의 정사각형 칸이 되어 더 이상 자를 수 없을 때까지 반복한다. 코드 const fs = require("fs"); const input = fs .readFileSync("/dev/stdi.. 2022. 6. 16.