본문 바로가기

전체 글65

프로그래머스 - 메뉴 리뉴얼 프로그래머스 - 메뉴 리뉴얼 2021/04/23 문제 접근 방법 course의 요소(숫자)마다 모든 문자열을 반복하며 요소(숫자)개를 선택하는 조합을 생성한다. 가장 많이 나온 조합을 기록하고 (동률일 경우 모두) 2번 이상 나오지 않은 조합은 제외시킨다. helper함수 문자열에서 num개 선택하는 조합을 Array로 돌려주도록 한다. 조합선택은 디자인하기 수월하도록 recursion을 도입. 완성한 solution function solution(orders, course) { let answer = []; // amount = 선택할 개수 for (let amount of course) { let temp = {}; for (let i = 0; i < orders.length; i++) { for .. 2021. 4. 23.
프로그래머스 - 괄호변환 프로그래머스 - 괄호변환 2021/04/15 문제 접근 방법 helper함수 &#39;더이상 쪼갤 수 없는 균형잡힌 문자열&#39;과 &#39;남은 문자열&#39;로 나누는 함수를 만든다. &#39;(&#39; 와 &#39;)&#39; 의 수가 같다면 균형잡힌 문자열이다. 올바른 괄호 문자열 올바른 괄호 문자열인지 검증해야 한다. 이어진 괄호를 반복적으로 제거하여 남은 괄호가 있는지 확인하다. 완성된 solution function solution(p) { if (p === &#39;&#39;) return &#39;&#39;; let [u, v] = helper(p); // u = 균형잡힌 문자열, v = 남은 문자열 if (isPerfect(u)) return u + solution(v); else .. 2021. 4. 15.
프로그래머스 - 삼각 달팽이 프로그래머스 - 삼각 달팽이 2021/04/14 문제 접근 방법 list의 길이가 1부터 하나씩 증가하는 형태로 n개의 list를 생성한다. 1부터 가장 큰 수까지 방향에 맞게 list에 넣는다. 가장 큰 수 가장 큰 수는 n이 1, 2, 3, 4, 5, 6 일 때 1, 3, 6, 10, 15, 21 과 같이 [초항이 1이며 [초항이 2이고 공차가 1인 &#39;등차수열&#39;]을 계차로 갖는 &#39;계차수열&#39;]의 n번째 항임을 알 수 있다. Layer class를 만든다. Array를 상속받아 Layer라는 클래스를 만든다. 삼각 달팽이의 각 층을 구성하게 할 것이다. 아래와 같은 기능이 필요하다. 가장 앞에서부터 비어있는(empty)곳에 삽입 가장 뒤에서부터 비어있는(empty)곳에 삽입 .. 2021. 4. 14.
JOB-searching 벌써 코드스테이츠에서 교육받은지도 20주차... 내일이 모든 교육의 마지막이다. 이젠 스스로 내가 회사를 찾고 이력서를 넣고, 면접을 보러 가야한다. 공부할 때도 '모르는것은 배우면 된다' 라고 생각했듯이 이것 또한 모르는게 있다면 배우면 된다. 개발중 무언가 할 때 '어떻게' 보다는 '왜' 에 대하여 생각 하듯이 조금더 근본적으로 나 자신에게 '왜' 라는 질문을 던지며 면접준비를 이어나가야 겠다. 매일 아침 알고리즘을 풀어야하는것도 나 스스로를 풀어지게 해선 안되는 것도 그대로다 달라지는게 없다. 그러니 조급해 하지 말자. 2020. 11. 5.
First Project를 마무리하며... 시간은 아주 빠르게 지나갔고 정신차리니 2주는 금방이었다. 우리는 Mohaji(모하지)라는 서비스를 만들었다. 주변에 다양한 즐길거리를 확인 할 수 있는 서비스 특정 태그를 제외하고, 포함하고 찾아보는등 기존 지도서비스와는 다르게 선택된 태그들 전부를 현재 보고 있는 화면내에 존재한다면 보여준다. 맨날 노래방만 가는건 지겨운데, 심심하고 할건없고... 이 서비스를 만들면서 명동에 실탄사격장이 있다는 사실도 처음 알았다. 간단한 기능들을 소개하자면 보편적인 기능은 회원가입 없이도 이용할 수 있지만, 댓글쓰기 와 같은 몇몇 기능은 로그인 후 에만 이용할 수 있다. 회원가입은 일반회원가입, 소셜로그인을 통한 회원가입이 존재하며 소셜로그인을 통한 회원가입시에는 아이디와 비밀번호를 따로 타이핑 하지 않아도 되는 .. 2020. 10. 6.
2주 프로젝트 9일차 Fact(사실) - 초기 생각했던 기능들은 대부분 취소되거나 수정됨. - 무엇을 어떻게 취사선택 하냐에 따라 작업속도가 달라짐. Feeling(느낌) - 프로젝트 기간은 시간이 정말 빠르게 지나가는 것 같이 느껴진다. - 아직 '나'를 위하여 '누군가'를 위하여 '팀'을 위하여 행동하는 것중 어떤 것에 비중을 더 둬야 할지 모르겠다. Finding(교훈) - 그럴수록 시간을 조금 더 효율적으로 사용할 필요가 있어보인다. - 한사람 한사람 관계를 생각하면서도 팀 전체를 생각해야한다... 어 렵다. Future action(행동) - 걸리는 시간, 예상되는 시간 등을 자세히 생각해 보아야 겠다. - 시간을 단축하기 위하여 어떤 문제에 직면했는지 자주 확인해야 할 것 같다. 이번에 여러가지 생각을 하게되었다... 2020. 9. 30.
2주 프로젝트 3일차 내 의견이 맞다고 주장하는 것 보다 중요한것은 다른사람의 의견을 열린마음으로 듣는 것 이다. 프로젝트 기간엔 시간이 5배로 빠르게 간다. 아무것도 한게 없어보이는데 벌써 3일차. 우리 팀은 빠르게 SR을 끝내고 코드를 작성하는 작업에 착수하는 대신 처음하는 Project이니 만큼 SR시간을 조금더 소중하게 조금 느리게 시작하더라도 후에 있을 변경점에 대비하기도 하며 각 스프린트를 쪼개어 목표를 설정하고 작업에 대한 이슈카드들을 생성하여 의존성이 있는 작업들의 관계를 파악하는데 시간을 두었다. 또, 포지션(프론트, 백)에 관계없이 모두가 Wireframe, DB Schema 구성 등 포지션 별로 나누어 진행하면 훨씬 빨랐겠지만 한가지씩 같이 구성 함으로서 우리가 구현할 것의 WorkFlow를 상세히 익히며.. 2020. 9. 23.
SQL정리 - 1 SELECT 선택하여 열 확인 기본적인 형태 SELECT [COL] FROM [TABLE] WHERE [조건] 모든 열을 확인하기 SELECT * FROM [TABLE] (WHERE 부분은 생략이 가능) WHERE 조건에 따른 무언가를 위해 사용됨. 기본적인 형태 SELECT * FROM [TABLE] WHERE name = '황대성'; 연산자 비교연산자 사용이 가능하며 ( , =, =, !=(또는 ) ) 논리 연산자 (and, or) 사용이 가능하다. BETWEEN A AND B 300이상 500이하의 데이터를 확인하려면 // ...생략 WHERE pay >= 300 AND PAY 2020. 9. 3.
코드스테이츠 11주차 회고 11주차 회고 9주차 ~ 11주차에 대한 회고를 진행합니다. 1. Asynchronous & Promise 비동기와 Promise에 대해 다뤘다 Promise는 어떤 값으로 이행될 예정 또는 거부될 예정이거나 혹은 평가 자체가 이루어 지기 전 상태 일 수 있다. 이를 활용하여 미래에 평가될 무언가에 대해 사전처리를 해줄 수 있었다. 이와 관련한 async / await역시 상당히 재미있었다. 이해도 - ★★★★★ 비동기의 흐름을 이해하는 과정 자체가 상당히 흥미로웠다. 스택에서 setTimeout이나 fetch를 통한 api가 호출되면 api상에서 돌려줄때에 queue에 집어넣고 stack이 비면 queue에서 하나씩 꺼내간다는것... 분명 싱글스레드 언어임에도 불구하고 비동기실행이 되는것.. 2. In.. 2020. 8. 29.