전체 글 182

LV 1 - 직사각형 별 찍기

process.stdin.setEncoding("utf8"); process.stdin.on("data", (data) => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); for (let i = 0; i < b; i++) { console.log("*".repeat(a)); } }); 문제를 어떻게 풀어야할지 궁금점이 두 가지가 들었다. 1) 숫자들을 어떻게 *로 바꿀것인가? 2) 어떻게 가로줄 세로줄을 만들어서 직사각형 모양으로 만들 수 있을까? 1번 질문 같은 경우는 아래의 메서드를 활용해서 가로줄을 만들어 주었다. str.repeat(count); 2번 질문 같은 경우는 for문을 이용해서 반복적인 작업을 수행할 수 있..

그룹 알고리즘

//문제: 컬렉션 형태의 데이터를 특정 키 값으로 그룹화. // 그룹 알고리즘(Group Algorithm): 특정 키 값에 해당하는 그룹화된 합계 리스트 만들기 //테스트용 레코드 JSON 배열 (function () { //[1] Input: 테스트용 레코드 JSON 배열 let records = [ { Name: "RADIO", Quantity: 3 }, { Name: "TV", Quantity: 1 }, { Name: "RADIO", Quantity: 2 }, { Name: "DVD", Quantity: 4 }, ]; // 입력 데이터 let groups = []; // 출력 데이터 let N = records.length; // 의사코드 //[2] Process: Group 알고리즘 (SORT ..

최빈값 알고리즘

## 최빈값 알고리즘 : 데이터 중에서 가장 많이 나타난 값. 최빈값 알고리즘의 핵심은 배열의 데이터 자체를 index로 보는 것이다. 예를 들어서 let scores = [1, 3, 4, 3, 5]; 이 점수들을 index로 취급하는 것이다. 그래서 1이면 1번째 index 1증가, 3이면 3번째 index에 2가 증가하는 것이다. (3이 두번 나왔기 때문이다.) 그리고 그 값의 최댓값의 대한 index를 찾아내주면 그게 최빈값이다. 정리하자면 데이터를 index로 취급하고 개수 알고리즘을 사용. 그리고 최댓값을 구해주면 그것이 최빈값이 된다. // 문제: 주어진 데이터에서 가장 많이 나타난(중복된) 값 // 최빈값 알고리즘(Mode Algorithm): 점수 인덱스(0 ~ n)의 개수(Count)의 ..

면접 후기

면접 질문들 1. 비전공인데 개발자로 진로를 정하게 된 이유 2. (페이지를 보며) 디자인적으로 수정 되었으면 하는 점. 혹은 생각나는 웹 사이트가 있는지? 아니면 좋아하는 사이트가 있는지? 3. 어떤 언어들을 다루어 보았는지? 4. 사이트를 만들 때 가장 중요시 여기는 것은 무엇인가? 5. 협업 경험이 있는지? 결과: 탈락 => 다른 지원자 중에서 프론트 앱 개발부터 런칭까지 해 본 경험이 있는 분이 있었다.

원티드 프리온보딩 챌린지 회고

취업 프로세스에서 기술 과제가 갖는 의미 이해하기 논리적으로 기술에 대해 자신의 견해를 밝힐 수 있는 사람인가? 를 면접에서 보고싶어한다. ✨포인트 1. 구체적인 맥락과 상황으로 설명하였는가 2. 자기가 사용한 기술에 대한 고민과 이해를 통해 면접관의 의견을 교환할 수 있는 형태로 지식을 쌓아야한다. A : “리덕스 사가를 쓰셨다고 되어 있는데 왜 사용하셨나요?” B : ”복잡한 상태를 관리하기 위해 사용했습니다.” A : ”어떤 상태가 복잡했나요?” B : ”비동기 요청의 로딩 상태를 관리하는게 어려웠습니다.” A : ”제 생각에 로딩 상태 정도는 별로 복잡하지 않아서 리덕스 사가가 과하게 느껴지는 것 같아요. 로컬 state로 관리하는게 컴포넌트의 응집도를 높게 가져갈 수 있는 방법 아닐까요?” B ..

📓 개발 일지 2022.08.13

LV 1 - 정수 제곱근 판별

풀이 function solution(n) { if (Math.sqrt(n) === Math.floor(Math.sqrt(n))) { return (Math.sqrt(n) + 1) ** 2; } else { return -1; } } Math.sqrt()메서드를 이용하여 완전히 딱 정수로 떨어진다면 (Math.floor()메서드 적용한것과 비교) 하나 더한것에서 제곱한 값을 리턴해준다. 아닐 경우 -1을 리턴한다. 다른 스터디원 풀이 function solution(n) { // 입력 : 양의 정수 n // 출력 : 제곱근이 양의 정수이면 제곱근 +1 의 제곱, 아니라면 -1 리턴 // 제곱근 x : 제곱하면 n이 되는 수 // 1. n의 제곱근 root를 구한다. // 2. root가 정수인지 판별하고..