개발
-
[Programmers] 양꼬치 (Javascript)개발/코딩 테스트 2022. 12. 8. 18:28
양꼬치 10인분을 먹으면 음료수를 하나씩 서비스로 주는 가게에서 양꼬치 n인분 (1인분 12000원), 음료수 k개(1개 당 2000원)를 먹었다면 지불해야 하는 총액을 계산하는 문제 [나의 풀이] function solution(n, k) { return n * 12000 + k * 2000 - ( Math.trunc(n/10) ) * 2000; } [다른 사람의 풀이] function solution(n, k) { k-=~~(n/10); if (k < 0) k = 0; return n*12000+k*2000; } double tilde를 활용하는 풀이가 눈에 띄었다. 역시 다른 사람 풀이 보기가 최고...! [~ (tilde) 연산자 특징] • 비트의 부정 연산자 • 32bit signed integ..
-
[Programmers] 각도기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:59
0도 초과 ~ 90도 미만은 1(예각), 90도는 2(직각), 90도 초과 180도 미만은 3(둔각), 180도는 4(평각)를 반환하는 문제 [나의 풀이] function solution(angle) { let result = -1; if ( angle > 0 && angle 90 && angle < 180 ) { result = 3; } else if ( angle === 180 ) { result = 4; } return result; } [다른 사람의 풀이] function solution(angle) { return [0, 90, 91, 180].fil..
-
[Programmers] 숫자 비교하기 (Javascript)개발/코딩 테스트 2022. 12. 8. 17:31
간단하게 두 숫자를 비교하여 같으면 1을, 다르면 -1을 반환하는 문제 [나의 풀이] function solution(num1, num2) { return num1 === num2 ? 1 : -1; } [다른 사람의 풀이] function solution(num1, num2) { return ((num1 == num2)-0.5)*2; } 정말 간단한 문제라 깊게 생각하지 않고 바로 풀었는데, 다른 천재님께서 true일 경우에는 1을, false일 경우에는 0을 반환하는 것을 응용하셨다. 즉 num1과 num2가 같으면 num1 == num2 조건식의 반환값이 1이 되므로, (1 - 0.5) * 2 = 1을 반환한다. num1과 num2가 같지 않으면 num1 == num2 조건식의 반환값이 0이므로, (..
-
실수에서 정수만 추출하기개발/Javascript & jQuery 2021. 2. 6. 20:46
실수값에서 소수점 이하 부분을 버리고 정수값만 추출해야 할 때 아래 2개의 옵션이 있다. 1. toFixed() 활용 자바스크립트의 Number 내장객체에서 제공하는 toFixed 함수를 활용 매개변수를 지정하지 않으면 기본값으로 0을 사용하게 된다. 1 2 3 4 const num = 123.456; console.log(num.toFixed()); // "123" console.log(num.toFixed(0)); // "123" cs 2. Math.trunc() 활용 자바스크립트의 Math 내장객체에서 제공하는 trunc 함수를 활용 1 2 3 const num = 123.456; console.log(Math.trunc(num)); // 123 cs
-
React 프로젝트 생성부터 깃허브 페이지 배포까지개발/React 2020. 2. 29. 14:32
웹개발자로 쪼금 끄적였답시고 시작하는 토이프로젝트마다 DB 연결부터 하고 보니 프로젝트 크기가 쓸데없이 커져서 항상 이걸 어디에 어떻게 배포해야할지....웹호스팅하려면 또 돈이 나가는데...하면서 집에서 대충 코드를 짜다가 말기만 수차례 그러다 리액트에 입문한지 어언 반년... DB 연결 없이 간단하게 돌아가는 앱 정도라면 내 사랑 깃허브가 제공하는 github page에서 배포가 가능하다는 것을 깨달았다...! 기쁨에 겨워 처음 리액트 어플리케이션 생성에서부터 배포하는 과정까지를 남겨본다. 1. 리액트 프로젝트 생성 원하는 폴더 위치로 이동 명령어 입력 : create-react-app [애플리케이션명] 소스 코드 수정 후 로컬에서 실행 2. github에 새로운 저장소 생성 편의를 위해 생성했던 애플..
-
[PostgreSQL] 커서를 활용하는 프로시저 만들기개발/Database 2020. 2. 16. 12:24
차세대 프로젝트에서 데이터 이관 작업을 하다 보니 타겟 목록을 SELECT 하여 커서에 담은 뒤, 커서의 크기만큼 반복문을 돌며 원하는 처리를 해주는 패턴이 굉장히 유용했다. 이번에도 우연한 기회에 PostgreSQL에서 비슷한 작업을 했는데, 내가 까먹을 것 같아서 기록해둔다. 오라클 프로시저와의 차이점은 약간의 문법 차이 정도만 있고, 거의 유사한 것 같다. (유의사항 : PostgreSQL 11에서부터 프로시저를 지원) 아래 예제는 실제 사용했던 프로시저를 포스팅용으로 많이 요약한 버전으로, student 테이블에서 grade가 1인 데이터를 추출하여 커서에 담은 뒤 커서를 반복문으로 돌리면서 student_2020 테이블에서 커서에 담은 데이터의 id와 동일한 로우의 grade를 2로 업데이트해준..