본문 바로가기
[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.
소셜 네트워크 (The Social Network) 소셜 네트워크는 세계적으로 유명한 회사인 페이스북의 설립에 관계된 자들의 이야기를 보여주는 영화다. 영화에 대한 아무런 지식도 없이 시청한 지라 마크 저커버그에 대한 지식도 그저 페이스북의 설립자일 뿐이라는 것만 알고 그 외의 지식은 전무하였다. 영화는 페이스북의 성공뿐만 아니라 이에 얽혀있는 수많은 이해관계들도 보여준다. 감독인 데이빗 핀처의 뛰어난 연출력이 아니었다면 자칫 이 영화는 3시간의 러닝타임을 갖게 되었을 것이다. 현재와 과거를 오가며 법적 공방과 증언에 대한 사실을 관객들에게 확인시킨다. 그러다 보니 처음 영화를 볼 땐 프로그래머로서의 저커버그를 보게 되고 사업을 확장하면서 수많은 사람들과 싸워 나가는 저커버그는 외롭고 지쳐 보였다. 마지막 장면도 이를 보여준다. 저커버그가 전 애인의 페이.. 2022. 6. 15.