728x90

전체 글 118

[코딩테스트] 직각삼각형 출력하기

하다가 정말 어려웠던 것만 블로그에 글을 남길 생각이었는데 벌써 세개째 쓰고 있다. 이건 로직 자체가 어려운건 아닌데 기본 코드 세팅이 롸..? 하게 만드는 상태라 기록해두려고 한다. 문제 : 직각삼각형 출력하기 문제 설명 "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 제한사항 1 ≤ n ≤ 10 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('l..

Dev/Algorithm 2023.04.14

[코딩테스트] 최빈값 구하기

이 문제 상당히 난감했다. 해답을 보고도 아하! 라며 바로 이해하기 보단 한줄한줄 따라가며 읽어야지만 눈에 들어와서 따로 디테일한 공부 없이 뇌빼고 코딩했던 나같은 사람들한테는 진입장벽이 조금 높을 수도 있겠다는 생각이 들었다. 문제 : 최빈값 구하기 문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 { m.set(item, (m.get(item) || 0) + 1); }) m = [...m].sort((a,b) => b[1] - a[1]); return m.length === 1 || m[0][1] > m[1..

Dev/Algorithm 2023.04.14

[JS].sort()

코테 준비를 하다보니 이해가 안되는 것들이 꽤나 있다. 그 중에 하나가 오름차순, 내림차순 정렬시 sort()를 있는 그대로 사용하지 않고 안에 인자를 넣어주는 것이었는데, 이게 이해되지 않는 이유는 내가 업무할 때 사용하는 데이터 타입이 거의 대부분 string이기 때문이다. 1. sort() sort() 함수는 특정 배열 내의 요소를 규칙에 따라 정렬해주는 함수이다. 내가 업무에서 사용시 abc 순서로 정렬하며 많이 사용하게 되는데, 코딩테스트의 경우 type 이 number인 요소들을 비교하는 케이스가 더 많기 때문에 다른 추가적인 설정이 필요하다. 2. compareFn sort 함수의 인자로 compareFn을 넣어줄 수 있다. array.sort((a,b)=> a-b) // 오름차순 array..

Dev/JavaScript 2023.04.14

[코딩테스트] 분수의 덧셈

분수의 덧셈 문제를 풀고 있었는데, 대충 플로우 까진 생각해냈는데 도저히 최대공약수를 찾을 방법을 알지 못했다. 그래서 찾은 답안이 이건데 이게 가장 기초적인 최대공약수를 구하는 로직이다. function solution(denum1, num1, denum2, num2) { let topNum = denum1 * num2 + denum2 * num1 let bottomNum = num1 * num2 let gcd = 0 for(let i = 0; i < topNum; i++) { if(topNum%i === 0 && bottomNum%i === 0) { gcd = i } } return [topNum/gcd, bottomNum/gcd] } for문을 안쓴지 오래돼서 오랜만에 for문을 보니 조금 어지러웠..

Dev/Algorithm 2023.04.14

[코딩테스트]등수 매기기

sort((a,b) => b-a) 어찌저찌 가고싶었던 회사의 서류에 합격하면서 부랴부랴 코테를 준비하기 시작했다. 당연히 남들은 한두달씩 열심히 풀어온걸 내가 이틀만에 끝낼리는 없지만 그래도 기왕 찾아온 기회니 최선을 다한다는 마음가짐으로 시작해보도록 하겠다. 막연히 어떻게 준비해야할지를 몰라서 프로그래머스에 올라와있는 문제를 풀어보았다. 언어는 당연히 할줄 아는게 JS 뿐이니 JS 로 선택했고, 제일 첫문제인 등수매기기 부터 풀어보자. 문제 : 등수매기기 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solutio..

Dev/Algorithm 2023.04.14

JavaScript를 시작하기 전에 (1)

오늘은 자바스크립트에 대한 이야기를 해볼까 한다. 나도 자바스크립트랑 이렇게 까지 친해질거라곤 상상도 못했지만, FrontEnd 개발자를 목표로 하게 된다면 어쩔 수 없이 사용할 수 있어야할 만큼 현재 Web App UI 개발은 javaScript의 점유율이 높다. 깊은 이야기를 하기 전에 가볍게 JavaScript의 배경에 대해서 이야기 해보도록 하자. 1. JavaScript !== JAVA (JavaScript의 기초배경) 개발 또는 코딩을 처음 접하시는 많은 분들이 'Java' 라는 부분 때문에 자바와 자바스크립트를 같은 언어로 착각하곤 하는데 엄연히 다른 언어다. 솔직히 말하자면 한창 객체지향 프로그래밍이 유행하고 많이 사용되기 시작할 때 그 대표주자였던 Java의 인기에 편승하기 위한 네이밍이..

Dev/JavaScript 2023.04.10

React 를 시작하기 전에 (2)

내가 이해한 React의 도입배경을 간략하게 이야기 했었는데, 아직까지 많은 부분에 대한 설명이 생략되어있다. 그래서 그 부분들에 대해 마저 정리하고 넘어가려한다. 이번엔 단방향 흐름에 대해서 이야기 하려고 한다. 주변 비슷한 경력대 분들이랑 하는 얘기에서는 React 가 아니라 Redux를 이야기 하면서 Flux패턴을 이야기하던데.. 나는 애초에 React 자체에서부터 기존의 데이터 흐름에 한계를 느껴서 Flux 패턴을 사용하도록 만들어진 것 이라고 알고 있다. 그렇기에 이미 React도 Flux를 이해하고 있어야만 제대로 사용이 가능하다고 생각한다.const arr = []; // UI에서 보게 될 변수 const appendArr = (a) => { arr.push(a); // arr에 요소를 추가..

Dev/React.js 2023.04.08

React를 시작하기 전에 (1)

React를 설명하려니 어디서부터 해야할지 감이 안 잡히지만... 일단 이 블로그는 내가 생각하고 이해하는대로 마구 작성해두는 일기와도 같다고 생각하고 작성해보겠다. React란? React 에 대해서 이야기 하기 전에 React가 왜 개발되어야만 했는지를 생각해봐야할 것 같다. 물론 아닌 학원도 있었겠지만 국비지원학원에서 공부한 사람들이라면 분명 서버와 클라이언트가 별개의 프로젝트로 구분되어있지 않았을 거고, 학원에서 가르쳐주는 MVC 패턴에 따라 구현하는 프로젝트를 해봤을거라고 생각한다. 그 때 html 파일이든 jsp파일이든 여러 개의 view 라고 부르는 페이지를 잔뜩 만들고 복사,붙여넣기 해서 주소에 따라 화면을 바꿔서 꺼내보여주는 형식의 웹사이트를 만든다. 그걸 Multi Page Applic..

Dev/React.js 2023.04.06
728x90