[코딩테스트] 올바른 괄호
·
개발/알고리즘
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 1번풀이 function solution(s) { var answer = true; s = s.split(""); while (true) { const idx1 = s.indexOf("("); const idx2 = s.indexOf(")"); if (idx2 < idx1 || idx1 == -1 || idx2 == -1) { answer = false; break; } s.splice(idx2, 1); s.splice(idx1, 1); if (s.join("") == "") { break; } } re..
[BigO] BigO 표기법
·
개발/알고리즘
1. BigO표기법이란? 간단하게는 대략적으로 숫자를세는 것의 공식적인 표현이다. 다시말하면 입력된 내용이 늘어날 수록 알고리즘에 실행시간이 어떻게 변하는지 설명하는 공식적인 방식이다. BigO표기법으로 함수의 입력값이 늘어나는것과 함수 실행시간이 변하는 관계를 숫자로 나타내고 이를 시각화 할수 있다. N이 커질수록 컴퓨터가 f(n) 상수 곱하기 f(n) 보다 간단한 연산을 덜 해야한다면 그 알고리즘을 O(f(n))이라고 표현한다. 2. BigO 표기법의 필요성 모든 코드는 좋은 코드와 안좋은 코드로 분류할 수 없다. 그래서 우리는 이 애매한 표현들 대신에 숫자로 코드의 성능을 표기 할수 있다. 그것이 바로 BigO표기법이다. 3. 시간복잡도 O(1) : 상수의 계산, 변수 선언, 인덱스, 객체에서 키로..
[React] 게시판 만들기
·
개발/React
GitHub - TeTedo/react_project Contribute to TeTedo/react_project development by creating an account on GitHub. github.com 리액트로 백앤드를 쓰지 않고 useState함수를 사용하여 게시판을 만들어봤다. 1. 로그인 기능 user라는 배열안에 배열 형태로 정보들을 넣어놨고 회원가입을 할때에 useState 로 user의 배열에 새로운 user값들을 추가해줬다. 로그인을 했을때 login = true로 설정하고 loginUser에도 해당 로그인한 아이디를 넣어줬다. 2. 로그아웃 기능 loginUser로 로그인을 했을때 현재 로그인되어있는 아이디를 받아온다. loginUser를 빈값으로 만들어주고 login을 f..
[React] 라우터 사용
·
개발/React
1. React에서 router사용하기 리액트는 페이지가 하나인데 어떻게 여러개의 페이지를 보여줘야 할까? 페이지도 컴포넌트, 하위 컴포넌트들을 모아서 페이지의 형태로 구성을 하고 페이지 컴포넌트를 url의 경로에 맞춰서 보여주면 된다. 한페이지에 내용이 교체되면서 페이지가 이동된것처럼 보여주는 것이다. 리액트는 새로고침되지 않는 어플리케이션이기 때문에 리액트의 페이지 이동은 눈속임이다. 리액트 라우터 라이브러리가 해주는일 : url이 바뀔때 컴포넌트를 바꿔줌 router 설치 https://reactrouter.com/en/v6.3.0#welcome-to-react-router Docs Home v6.3.0 Official assets for things like articles and video tu..
[코딩테스트] 최대공약수와 최소공배수
·
개발/알고리즘
1. 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 다른 사람풀이 본 후 function solution(n, m) { var answer = []; for (let i = 1; i