본문 바로가기

Algorithm

(38)
[Hackerrank/js] Plus Minus 연이은 서류탈락의 고배를 마시고 정신 못 차리는 요즘 여차저차 서류를 통과(?) 하고 코테 링크를 받았는데 Hackerrank라는 곳에서 4시간동안 본다고 (...) 큰 틀은 프로그래머스랑 비슷하겠으나 아무래도 익숙하지 않은 사이트에 영어로 문제가 나오니 적응도 해 볼겸 가입을 했다. 가입 할 때 코테까지 얼마나 남았냐고 물어보는데 제일 가까운데 1week 라서 그거 선택했더니 이런식으로 7일짜리 플랜을 짜서 준다 아무튼 그래서 문제 1번 plus minus 바로 풀어봤는데 생각보다 어렵지 않았다 문제 : Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print th..
[프로그래머스/js] 키패드 누르기 이 문제는 그림이 나와서 그런지 푸는데 아기자기하고 즐거웠다 (즐거웠다는 의미가 절대 쉬웠다는 의미는 아닙니다만) 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 내가 생각했을 때 이 문제를 풀면서 중요한 건 두가지였는데 1. 양 손가락의 마지막 위치가 어디인지 2. 키패드 간의 거리를 어떤 공식으로 구할 것인지 1번같은 경우는 map을 사용해서 양 손의 마지막 클릭 버튼을 업데이트 해주었다 let ..
[프로그래머스/js] 신규 아이디 추천 정규식 문제는 늘 어렵다. 현업 할 때도 맨날 찾아보고 적용하고 돌아서면 까먹는데 이거 다 외우고 쓰는 사람이 존재하긴 하는지..? 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr function solution(new_id) { let answer = new_id .toLowerCase() .replace(/[^\w-_.]/g,'') .replace(/\.+/g,'.') .replace(/^\.|\.$/g,'') .replace(/^$/,'a') .slice(0,15) .replace(/\.$/,''..
[프로그래머스/js] 신고 결과 받기 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 맨날 알고리즘 무서워서 도망치다가 이번에는 정말 안되겠어서 프로그래머스에 들어갔는데. 레벨 1도 어렵다;;;; 하다보면 금새 적응하겠지 낙관하다가도 이거 아직은 한 문제 푸는데 너무 오래 걸린다. 문제는 총4번 정도 다시 풀어봤는데 1차 시도 : 코드만 길어지고 문제 갈피를 잡지 못해 실패 2차 시도 : 모범답안에 감탄해 따라서 풀어봄 3차 시도 : 위 과정 반복 4차 시도 : 내 스타일로 다시 짜기 나도 저 코드 보고 장성훈씨 같은 마음이였음을...ㅜ ..
[ORACLE] 월/요일별 태어난 사람 통계 (DECODE, SUM, HAVING COUNT사용하기) 미션 회원의 생일을 바탕으로 조건 추가 월/요일별 태어난 사람이 200이상인 경우만 표현 각 컬럼별 case 사용안됨 SELECT MONTH , GENDER , SUM(DECODE(DAY_OF_WEEK, '2', 1)) MON , SUM(DECODE(DAY_OF_WEEK, '3', 1)) MON , SUM(DECODE(DAY_OF_WEEK, '4', 1)) MON , SUM(DECODE(DAY_OF_WEEK, '5', 1)) MON , SUM(DECODE(DAY_OF_WEEK, '6', 1)) MON , SUM(DECODE(DAY_OF_WEEK, '1', 1)) MON FROM ( SELECT DECODE(SEX_CD, 'PLB401', '남자', 'PLB402','여자', NULL) GENDER , S..
[ORACLE] 특정 조건을 가진 회원 조회 (TO_DATE, SUBSTR사용하기) 현재 투입된 프로젝트 DB로 쿼리 짜는 연습을 하고 있는데 새롭게 알게된 내용을 정리하는 것뿐만 아니라 지저분한 쿼리를 조금씩 개선해 나가는 과정을 기록하고 싶어서 블로그에 남겨보기로 했다. 미션 이름 중 가운데 '용'인 사람 또는 마지막이 '호'인 사람 대상 회원의 만나이 태어난날의 주차 태어난날의 요일 정규식 이메일 값이 있는 사람 생일과 대상회원의 등록일자와 차이를 시간으로 표시 전화번호 가운데 4자리와 뒷 4자리 숫자값의 차이 이메일 중 id만 추출 어려움 1. 태어난 날의 주차를 구하기 위해서는 YYYYMMDD 형식의 출생년도가 필요했는데 테이블에는 YYMMDD형식으로 되어있다. 2. 회원 테이블에 있는 정보가 온전하지 않은 경우가 많았음. (주민번호 뒷자리가 아예 0000000로 되어있는 회원..