분류 전체보기

Life/일상

[일상] 한 달 간의 아침 수영 강습 후기

수영을 시작한 계기 지난 7월, 친구들과 같이 빠지를 가기로 약속했었다. 한 번도 빠지를 안 가봐서 인터넷으로 검색을 해보았는데, 조금만 삐끗해도 바로 호수에 빠져버리는 영상들을 보게 되었다. 비록 구명조끼를 입고 있어서 위험하지는 않았지만, 수영을 하지 못했던 내게는 저 상황이 너무 무서웠다. 그래서 조금이라도 물과 친숙해지면 덜 무섭지 않을까라는 생각이 들어서 수영 강습을 신청하였다. 처음에는 귀에 물이 들어가는 것조차 무서워서 한 달 동안 월, 화, 목, 금 아침 9시에 수영 강습을 받기로 했다. 내가 갔던 수영장은 강습 시작일이 따로 정해져있는 것이 아니라 매주마다 새로 참석하는 방식이라 빨리 강습을 시작할 수 있어서 좋았다. 맨 처음 수영장에 들어와서 일단 머리부터 물에 담그는 것부터 시작했는데..

Project

[프로젝트] 구글 크롬 확장 프로그램 모멘텀(Momentum) Javascript로 구현하기

링크 깃허브: https://github.com/crohasang/momentum_js GitHub - crohasang/momentum_js: 구글 크롬 확장 프로그램 모멘텀(Momentum)을 Javascript로 구현하였습니다. 구글 크롬 확장 프로그램 모멘텀(Momentum)을 Javascript로 구현하였습니다. Contribute to crohasang/momentum_js development by creating an account on GitHub. github.com 사이트 접속: https://crohasang.github.io/momentum_js/ Momentum crohasang.github.io 모멘텀(Momentum)이란 무엇인가? 모멘텀은 Chrome 웹스토어에서 설치가 가..

Baekjoon(C++)

[백준] 1927번: 최소 힙 C++로 풀어보기

https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 생각 사실 이 문제의 목적은 직접 최소 힙을 구현하라는 것이지만, C++에서는 STL priority_queue가 있어서 최소 힙을 직접 구현하지 않고도 문제를 풀 수 있다. C++에서 최소 힙을 사용하려면 아래와 같은 방식으로 선언해야한다. priority_queue pq; 코드 #include using namespace std; priority_queue pq; // 최소..

Baekjoon(C++)

[백준] 7662번: 이중 우선순위 큐 C++로 풀어보기

https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 생각 동일한 정수가 삽입될 수 있다. -> 중복이 허용된다. 최댓값과 최솟값을 삭제해야 한다. -> 정렬이 되있어야 한다. 그렇다면 STL multiset를 사용하면 편리하다. multiset을 사용하면 수를 중복해서 삽입할 수 있고, 자동으로 오름차순 정렬을 해준다. 그러므로 최솟값을 꺼내려면 iterator를 사용하여 set의 맨 왼쪽 부분(ms.begin() )을, 최댓값을 꺼내려면 se..

Baekjoon(C++)

[백준] 13414번: 수강신청 C++로 풀어보기

https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net 생각 '처음에는 단순히 벡터에 값들 집어넣고, 중복한 값 넣으면 제거하고, 차례대로 출력하면 되는 거 아닌가?'라는 생각을 했었는데, 바로 시간초과가 떴다. 그래서 해시를 사용하는 unordered_set을 사용할까 고민했지만 unordered_set은 입력 순서를 보장해주지 않고 랜덤으로 출력된다는 문제를 가지고 있었다. 어떻게 하면 입력 순서를 보장할까 생각하던 중에, 해시를 사용..

Frontend/React

[React] useEffect()에 대해서

useEffect()는 코드의 실행 시점을 관리할 수 있는 함수이다. useEffect()는 두 개의 argument를 가지고 있는데, 첫 번째 argument는 우리가 실행하고 싶은 코드가, 두 번째 argument에는 [] 배열(dependency)이 있다. 두 번째 argument에 무엇이 들어가느냐에 따라 실행 결과가 달라지는데, 1. 빈 배열을 넣는 경우 -> 최초 1회 랜더링 될 때만 실행한다. 2. [a] -> a가 변경될 경우만 랜더링한다. 3. [a, b] -> a나 b중 하나가 값이 변경 될 때 랜더링한다. useEffect()를 사용하여 불필요한 렌더링과 작업을 방지할 수 있다. 예시 코드 const onChange = (event) => setKeyword(event.target.v..

Frontend/React

[React] Props에 대해서

React에서 Props는 부모 컴포넌트로부터 자식 컴포넌트로 데이터를 전달하는 데 사용되는 매커니즘이다. 요소를 만들 때마다 스타일들을 작성해주는 것은 너무 시간이 오래 걸린다. 그 대신 스타일들을 모두 갖는 단 한가지의 컴포넌트를 만들어서 사용할 수 있다. Props 코드 예시 내가 만들고 사용하는 모든 컴포넌트들은 function Btn() -> 괄호로 argument(인자)를 받는데, 이 때 argument의 이름은 마음대로 지어줄 수 있다. 리액트가 실제로 하는 작업은 함수(Btn())를 호출해서 우리가 넣어둔 모든 것들을 첫 번째 인자로 넣어주는 것이다. Btn 컴포넌트의 prop들에게 접근하려면 prop.text 등으로 적어준다. React.memo() props에 function도 보낼 수..

Frontend/React

[React] useState()에 대해서

어떻게 하면 React.js에서 값이 바뀔 데이터를 담아줄 수 있을까? useState()를 활용하면 React.JS에서 데이터를 저장시켜 자동으로 리렌더링을 일으킬 수 있다. useState() 코드 예시 const data = React.useState();를 console.log 시키면 [undefined, f ] -> undefined와 함수가 적힌 배열이 나타난다. undefined는 data이고 f는 data를 바꿀 때 사용하는 함수이다. React.useState() 함수는 초기값을 설정할 수 있다. 즉, undefined -> 초기값 , f -> 그 값을 바꾸는 함수이다. React.useState() 배열에서 보통 데이터에는 counter처럼 원하는대로 붙이고 f는 set 뒤에 데이터 이..

Frontend/React

[React] createElement, ReactDOM, JSX에 대해서

createElement React에서는 createElement 함수를 통해 React 요소를 생성할 수 있다. 하지만 실제로 createElement를 쓰는 경우는 많지 않기에, 이해만 하고 넘어가자. createElement를 쓸 때 첫 번째 argument는 root에 들어갈 HTML 태그이며, 두 번째 argument는 props가 포함된 object, 세 번째 argument는 content이다. ※ chatGPT의 createElement에 대한 설명도 첨부한다. React.createElement(type, [props], [...children]) type: React 요소의 타입을 나타냅니다. 예를 들어, HTML 요소라면 문자열로 "div", "span" 등을 사용하며, 사용자 정의 ..

Baekjoon(C++)

[백준] 1644번: 소수의 연속합 C++로 풀어보기

https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 생각 일단 숫자를 입력받으면 숫자보다 작은 수들 중에 소수인 것들을 모아서 배열에 집어넣어야 한다. 그리고 투 포인터를 활용하여 그 배열 안에서 n과 같은 연속합이 있는지 찾아보면 된다. 소수를 찾는 방법은 에라토스테네스의 체를 활용하면 된다. https://danidani-de.tistory.com/50 에라토스테네스의 체(소수 찾기) C++ / 과정 / 시간복잡도 :: DANIDANI 알고리즘 개념 고대 그리스 수학자 에라토스테네스가 만들어 낸 방법으로, 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 ..

퀵차분
'분류 전체보기' 카테고리의 글 목록 (7 Page)