본문 바로가기

전체 글53

프로그래머스 코딩테스트 Lv.1 풀이 3 2023.12.31 로또의 최고 순위와 최저 순위 function solution(lottos, win_nums) { let miss = 0 let rank = 1 lottos.forEach((num, index) => { if (num === 0) { miss++ } if (!win_nums.includes(num) && rank < 6) { rank++ } }) return [Math.max(rank - miss, 1), rank]; } lottos에서 숫자가 0인 개수를 miss에 저장하고 민우가 적은 숫자가 틀릴 때마다 rank를 1씩 더함 (rank는 커질 수록 순위가 떨어짐, 최저 순위는 6이므로 6보다 작을 때만 더함) miss가 다 맞았다고 가정하면 최고 순위가 되므로 최고 순위는 rank.. 2024. 1. 11.
프로그래머스 코딩테스트 Lv.1 풀이 2 2023.12.22 이상한 문자 만들기 function solution(s) { const answer = s.split(' ').map((word) => { return word.split('').map((char, index) => { if (index % 2 === 0) { return char.toUpperCase() } return char.toLowerCase() }).join('') }).join(' ') return answer; } 문자열 s를 단어 단위로 자른 후, 각 단어들의 글자들의 index가 짝수면 대문자로(toUpperCase), 아니면 소문자로(toLowerCase) 바꾸고 다시 합쳐서 반환 삼항연산자로 더 간결하게 표현할 수 있었을 거 같아서 아쉬움 크기가 작은 부분문자열 .. 2024. 1. 11.
프로그래머스 코딩테스트 Lv.1 풀이 1 2023.12.11 짝수와 홀수 function solution(num) { const answer = num % 2 === 0 ? 'Even' : 'Odd' return answer; } 나머지를 구하는 % 연산자를 이용해 짝수, 홀수 구분함 문자열을 정수로 바꾸기 function solution(s) { return Number(s); } Number 생성자를 이용해 문자열을 숫자로 바꿈 평균 구하기 function solution(arr) { const total = arr.reduce((acc, curr) => acc + curr, 0) const answer = total / arr.length return answer; } reduce로 arr의 요소들을 모두 더한 후, arr의 개수만큼 나눔.. 2024. 1. 11.
PostgreSQL 로컬 데이터베이스 만들기 psql로 PostgreSQL 로컬 데이터베이스를 만들 수 있다. psql이란? 터미널에서 PostgreSQL을 실행하고 쿼리를 실행해 볼 수 있는 명령어다. psql 실행해서 postgresql 접속하기 터미널(windows 환경에선 cmd)을 실행하고 아래 명령어를 입력하면 된다. psql -U postgres postgresql의 기본 계정으로 접속한다. (기본 계정 이름이 postgres) 그냥 psql을 입력하면 OS 계정으로 로그인을 하게 되는데, postgresql 계정과 연결되어 있지 않아서 오류가 날 것이다. (psql: error: FATAL: password authentication failed for user "xxx") 해결 방법은 해본 적 없지만, 검색해본 결과 아래 블로그가 .. 2021. 10. 27.
Git 커밋 메시지 작성할 때 참고하면 좋을 글 (Git commit message convention) Git 커밋 메시지는 중요하다. 혼자 작업할 때나 팀프로젝트를 할 때 커밋 메시지로 작업 히스토리를 확인하기 쉽기 때문이다. 팀프로젝트나 회사에서 일할 땐 팀에서 정한 규칙대로 따라가면 되지만, 혼자 할 때는 혼자만의 규칙으로 작업하려고 한다. 공개 프로젝트일 때는 다른 사람들도 볼 수 있기 때문에 혼자만 알아볼 수 있는 메시지 보단 모두들 알아볼 수 있는 규칙으로 작성하는 게 좋다고 생각한다. (사실 혼자만 볼 때도 알아보기 쉬운 규칙이어야 나중에 작업한지 오래되어 까먹었을 때 봐도 이해하기 쉬울 것 같다) 이 글은 개인적으로 괜찮아보였던 커밋 메시지 규칙들 링크를 저장해두기 위함이다. Conventional Commits https://www.conventionalcommits.org/en/v1.0... 2021. 9. 25.
정규표현식 모음 1. 문장 끝에 마침표 없어야 할 때 /[^\.]$/ 2. 숫자만 필요할 때 /^[0-9]+$/ 3. 소수 /^([0-9]+([.][0-9]*)?|[.][0-9]+)$/ 4. 영문, 한글만 필요할 때 /[a-z|ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/ 5. 우편번호 // 우편번호 /\d{5}/ // 구 우편번호 /\d{3}-\d{3}/ // 구/신 우편번호 모두 /(\d{3}-\d{3}|\d{5})/ 6. 휴대폰 번호 /01[01789]-\d{3,4}-\d{4}/ * 정규표현식 패턴 참고: 정규 표현식 - MDN * 정규표현식이란: 정규표현식(Regular Expression) 2021. 4. 16.
[맥북] 한영키 위치 바꾸기 기존 맥북 키보드 한/영 전환은 CAPS LOCK이나 control+space 바를 누르면 된다. 이게 여간 불편한 게 아니었다. 익숙해지면 어떨지 모르겠으나, 영어 대소문자를 변경해야 할 때 해당 키에 불이 들어올 때까지 꾹 눌러야 하는데, 빨리 타이핑하다 보면 대문자를 쓰려는데 한글로 전환되기도 하고, control+space는 두 손가락이나 써야 해서 손 자체의 움직임이 많아진다. 윈도우 피씨를 쓸 땐 스페이스 바 옆에 한/영 키가 있어, 오른쪽 엄지 손가락만 이동해도 됐는데... 다행히도 방법은 있었다. kearabiner-element라는 프로그램이다. 설치해서 사용해 보려는데, 키보드 입력 모니터링에 대한 허용을 해야 한다... 보안 문제가 신경 쓰인다. 다른 대체제가 있으면 다른 방법으로 하.. 2021. 2. 28.
Git 명령어 모음 git을 사용하면서 자주 쓰던, 유용했던 명령어들을 정리해두려고 한다. 더 많은 명령어와 옵션들은 아래 출처에 표시된 Git Reference 사이트에서 확인. 먼저, git에서 사용하는 working tree와 index에 대한 설명이다. Working tree, Index working tree는 한국어로 작업 트리라고 한다. 로컬에서 작업하는 폴더를 말한다. index는 저장소와 working tree 사이에 존재하는 공간이다. working tree에서 변경된 내용을 git add로 index에 먼저 stage 하고, git commit 및 git push로 저장소에 저장할 수 있다. 이 index의 존재 덕에 원하는 일부 변경 내용만 커밋할 수 있는 것이다. git clone 저장소(Reposi.. 2021. 1. 30.
React with TypeScript create-react-app으로 React+TypeScript 환경을 세팅하고 싶다면 npx create-react-app app-name --typescript 명령을 실행하면 된다. -끝- create-react-app 말고, 기존에 세팅해둔 프로젝트에 TypeScript를 추가하기 위해선 여러 패키지들을 추가로 설치해주어야 한다. TypeScript를 사용하기 위해 typescript, React와 관련된 타입 정의를 사용하기 위한 @types/react, @types/react-dom 패키지를 설치해준다. npm i typescript @types/react @types/react-dom @types/node @types/jest 자바스크립트 테스트 프레임워크 Jest를 위한 타입 정의가 포함된.. 2021. 1. 9.
React 세팅하기 (without create-react-app) React 개발 환경 세팅하는 법! create-react-app을 사용한다. 처음부터 직접 세팅한다. create-react-app은 리액트 환경을 빠르게 세팅해주는 패키지이다. 공식으로 제공하는 기능이다. React 공식 홈페이지 Create React App에서 사용 방법을 알 수 있다. 새로운 React 앱 만들기 – React A JavaScript library for building user interfaces ko.reactjs.org 강의나 구글링으로 React 세팅 방법을 찾아봤지만 대부분 1번 방법으로 React를 세팅하고 있었다. 그래도 React 공부할 겸 2번 방법을 선택했다. 여기 저기 열심히 찾아보며 겨우 세팅했다... 이제 열심히 세팅한 내용을 정리해보자! (window +.. 2021. 1. 2.