분류 전체보기
-
[프로그래머스 Level 2] 멀쩡한 사각형알고리즘 문제풀이/JavaScript 2020. 2. 1. 17:03
문제 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solution 함..
-
[프로그래머스 Level 2] 스킬트리알고리즘 문제풀이/JavaScript 2020. 2. 1. 16:06
문제 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한 조건 스킬은..
-
[디자인 패턴]즉시 함수 호출 표현식(IIFE)을 사용한 싱글턴 패턴Web/JavaScript 2020. 2. 1. 15:25
1. 즉시 함수 호출 표현식(IIFE) 익명함수와 즉시 함수 호출 표현식(IIFE)을 이해하고 넘어가는 것이 좋다. 먼저 간략하게 설명한 정의는 다음과 같다. 익명함수란 사용자가 자바스크립트에서 정의할 수 있는 함수 중 익명, 즉 이름이 없는 함수이다. 즉시 함수 호출 표현식(IIFE)은 함수를 선언과 동시 호출하는 표현식을 의미한다. 익명함수를 설명하기 위해선 즉시 함수 호출 표현식이 항상 따라온다. 기존 함수들은 이름이 존재하기 때문에 선언과 호출이 따로 이루어지지만, 익명함수는 이름이 없기 때문에 한 번 정의하고 난 후에, 나중에 호출할 수 방법이 없다. 그래서 즉시 함수 호출 표현식(IIFE)를 통해서 선언과 동시에 호출하여 사용한다. 즉시 함수 호출 표현식(IIFE)은 (function(){})..
-
20.02.01 운동일지일상/운동 2020. 2. 1. 13:33
요새 핑계를 많이 대면서 운동을 소홀히 했다. 사실 운동을 한 시간에서 한 시간 반정도로 하기 때문에 그렇게 오래 걸리지 않는데, 아침이 힘들어서 핑계 대고 시간만 보내다가 안 갔었다. 마음을 다 잡고, 오랜만에 운동을 하러 갔다. 일부러 어젯 밤에 등 운동 영상을 보면서 나 스스로에게 자극도 줬다. 오랜만에 들린 헬스장은 사람이 매우 많았는데, 다들 부지런하구나라는 생각이 들었다. 옷을 갈아입고 스트레칭을 해주고, 오랜만에 턱걸이 바를 잡았다. 푹 쉰 덕분에 오히려 몸에 힘이 생겼나보다. 턱걸이가 매우 가벼웠다. 오늘은 운동에 온전히 집중할 수 있을 것 같은 예감이 들었다. 턱걸이를 끝내고, 랫풀다운 머신을 잡았다. 전에는 항상 견갑을 고정시켜 했는데, 이 방식은 전완근을 많이 쓰기 때문에 등보다 전완..
-
2월 계획내 머릿속 전구들 2020. 1. 29. 15:58
1월 말인 이번 주 계획 : ISANG 과제 보고서 작성 완료 2월 계획 - 한자 3급 준비, 네트워크 책 완독, 비타알고 매주 풀기 -> python 먼저 공부 (파이썬은 문제를 풀 수 있을 정도의 깊이로만 공부하자!) MDN에서 자바스크립트 공부 & nodejs 개념 공부(책 이용) (비율 1 : 4)으로 하자. - 꾸준히 reddit과 velog글을 읽도록 하자. (하고싶은 일이 생길지도 모른다.) 공부의 중요성을 나눠보면 다음과 같다. 1. node.js 공부 -> 충분히 공부하면, 어서 React로 넘어가도록 하자. (4) 2. 네트워크 책 & 한자 3급 준비 (2) 3. MDN - JavaScript 공부 (1) 4. python 문제 풀고 함수 정리(하루 1~2문제로 익히자) (1) 진행상황..
-
[프로그래머스 level 2] 카펫알고리즘 문제풀이/JavaScript 2020. 1. 23. 22:06
문제 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 빨간색으로 칠해져 있고 모서리는 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 빨간색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 빨간색 격자의 수 red가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 빨간색 격자의 수 red는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다. 입..
-
[프로그래머스 level 2] 타겟 넘버알고리즘 문제풀이/JavaScript 2020. 1. 23. 20:43
문제 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연수입니다. 입출력..