전체 글 35

[알고리즘] Leetcode 704. Binary Search 이진 검색 알고리즘

704. Binary Search Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1. You must write an algorithm with O(log n) runtime complexity. 오름차순으로 주어진 정수 배열과 정수 타겟이 주어지고 타겟을 숫자로 검색하는 함수를 만드세요. 타겟이 존재한다면 index를 리턴하고 그렇지 않으면 -1를 리턴하세요. 시간 복잡도는 반드시 O(log n)이어야 합니..

[후기] 프밍 챌린지 1기 후기

https://github.com/pming-kr/pming-content GitHub - pming-kr/pming-content: 😃 좋은 컨텐츠를 기고받는 저장소 입니다 😃 좋은 컨텐츠를 기고받는 저장소 입니다. Contribute to pming-kr/pming-content development by creating an account on GitHub. github.com 프밍에서 시작한 프밍챌린지 1기에 참여한 후기를 남겨봅니다. 프밍은 "좋은 컨텐츠는 반드시 조명받아야 합니다"라는 주제로 개발 컨텐츠를 소개하는 프로젝트입니다. https://www.notion.so/1-6d9ac7be80534447aa17da8b4b47937d 프밍 챌린지 1기 활동 결과 🌱 1기 종합 활동 결과 www.n..

기타 2022.05.17

[JS] JavaScript에서 0.1 + 0.2는 0.3일까? (JS가 숫자를 처리하는 방식)

📗 JavaScript에서 0.1 + 0.2는 0.3일까? 0.1 + 0.2 === 0.3; // false typeof(0.1); // 'number' const a = 0.1; const b = 0.2; a + b === 0.3 // false console.log(a + b); // 0.30000000000000004 결론부터 말하자면 0.3이 아닙니다. 컴퓨터는 명령을 처리하기 위해 10진법으로 처리된 것을 자신의 언어인 2진법으로 변환하는 과정을 거치게 됩니다. 위와 같은 결과는 JavaScript가 실수를 처리하는 방식으로 부동소수점 방식 을 채택하기 때문에 발생하게 됩니다. 간단하게 집고 넘어가자면...(매번 까먹으므로..) 정수 : 10, 400 혹은 -5 같은 모든 숫자 실수 : -1, ..

Javascript 2022.05.17

[JS] 이벤트 위임

📗 이벤트(event)란 무엇인가요? 이벤트란 프로그래밍하고 있는 시스템에서 일어나는 사건 혹은 발생입니다. 이것은 무언가 일어났다는 신호입니다. 참고로, 이벤트는 DOM에만 한정되진 않습니다. 예를 들어, 클릭, 키보드 입력, 마우스 이동 등이 일어났을 때 이를 감지하여 특정한 타입의 이벤트를 발생시키는 것입니다. 웹 이벤트는 코어 JavaScript 언어의 일부가 아닙니다. 이것들은 브라우저에 내장된 API의 일부로서 정의됩니다. 애플리케이션이 특정 이벤트에 대해 반응하여 어떤 일을 하고 싶다면 해당하는 타입의 이벤트가 발생했을 때 호출될 함수를 브라우저에게 알려 호출을 위임합니다. 이때 이벤트가 발생했을 때 호출될 함수를 이벤트 핸들러(event handler) 라 하고(이벤트 핸들러는 때떄로 이벤..

Javascript 2022.05.14

[알고리즘] random6 함수를 가지고 사칙연산만 사용해서 random12 함수 만들기

랜덤하게 1에서 6으로 나오는 함수를 가지고 if문, 사칙연산만 사용해서 1 ~ 12 까지의 랜덤숫자가 나오는 random12함수 만들기 function random6() { return Math.ceil(Math.random() * 6); } function random12() { if (random6() % 2) { return random6() + 6; } else { return random6(); } } 1 ~ 6까지의 숫자는 확보가 되어있고 7 ~ 12까지의 숫자만 더 나오게 해주면 된다. 12까지의 랜덤숫자가 나오는 함수는 1 ~ 6 숫자가 나오는 확률 50%, 7 ~ 12숫자가 나오는 확률 50% 가지게 된다. 그렇다면 random6 함수로 확률을 나눌 수 있는 방법을 찾으면 될거라 생각했..