Problem Solving
-
[프로그래머스] [신규 아이디 추천] 정규식이 누군지 알았다면 쉽게 풀었을텐데 - JSProblem Solving 2021. 2. 16. 17:44
[^a-z] 이게 무슨 뜻인지 알면 이 포스트를 볼 필요 없어요! 뒤로가기를 누르세요 back back~~ programmers.co.kr/learn/courses/30/lessons/72410# 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 아래는 성공은 했으나 우아하지는 않은 코드, 일일히 단계를 구현하여 풀었다. 으악 내눈... 내 손목... 저처럼 이렇게 고생하면서 풀지 마세요 function len(new_id){ // python을 하다가 js를 해서 헷갈려서 func을 아예 만들었다 retu..
-
[프로그래머스] 만만할 줄 알았던 피보나치 수 JSProblem Solving 2021. 2. 9. 15:43
// 테스트케이스 7번 부터 실패한 코드 function solution(n) { if(n===0) return 0; else if(n===1) return 1; else{ return (solution(n-2)+solution(n-1))%1234567; } } 재귀함수 연습하는 문제구나! 라고 생각해서 재귀를 사용해서 문제를 풀었는데.. 7번부터 시간초과가 났고 13,14번은 런타임에러가 났다. 구글링을 좀 해보니 재귀로 풀면 안된다고만 얘기해주니 괜히 반발심이 생겨 재귀로 풀면 안되는 이유가 있는게 아니라면 납득하고 싶지 않았다. 재귀를 쓴다면 그 장점은 대표적으로 두가지다 1. 알고리즘을 재귀적으로 표현하는 것이 자연스러울 때 2. 변수 사용을 줄이기 위해 그렇다면 단점도 있을 것 같다. 1. 메모..
-
[JavaScript] 메뉴 리뉴얼 JSProblem Solving 2021. 2. 3. 15:53
function powerSet(array) { // 멱집합; powerSet function fork(i, t) { if (i === array.length) { result.push(t); return; } fork(i + 1, t.concat([array[i]])); fork(i + 1, t); } var result = []; fork(0, []); result.pop(); // [] 를 빼주기 위함 return result; } function solution(orders, course) { var answer = []; var menu = {}; var dict = {}; for(var w in orders){ // orders 문자열을 미리 오름차순 정렬 orders[w] = orders[w..