본문 바로가기

분류 전체보기

(92)
[Python] 프로그래머스 level3 [1차] 추석 트래픽 =i+1 or end < i): cnt += 1 answer = max(answer, cnt) return answer
[Python] 프로그래머스 level2 순위 검색 코딩테스트 연습 - 순위 검색["java backend junior pizza 150","python frontend senior chicken 210","python frontend senior chicken 150","cpp backend senior pizza 260","java backend junior chicken 80","python backend senior chicken 50"] ["java and backend and junior and pizza 100","pytprogrammers.co.kr풀이 방법정확도 검사 통과는 쉬운데 효율성 검사 통과가 어려웠다.........key가 될 값이 많아서 처음에는 arr[java][backend][chicken] 이런식으로 해야하나 했는데, 문자..
[Python] 프로그래머스 level2 메뉴 리뉴얼 programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 과정 itertools의 combinations를 이용한다. (가능한 조합을 모두 찾아준다.) collections의 Counter를 이용한다. (리스트의 각 원소의 개수를 key-value 형태로 저장한다.) 각 coures에 대해 반복문을 시행하면서 각 orders에서 combination으로 coures에 있는 개수로 조합을 모두 찾는다. 각 coures에 대해 찾은..
[Python] 프로그래머스 level2 문자열 압축 programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 방법 1개~절반의 개수로 압축할 때의 문자열 길이 중 최솟값을 return한다. 문자열 비교는 슬라이싱을 이용한다. 전체 코드 def solution(s): res = len(s) for cut in range(1, len(s)//2+1): answer = '' cnt = 1 last = s[:cut] for i in range(cut, len(s), cut): ..
TypeOrm 시작하기 (entity, Table생성) TypeScript와 TypeOrm의 초기 세팅은 이전 포스팅(아래 링크)에서 소개했습니다. 초기 설치와 세팅을 마친 후에 table에 대해 정의하는 폴더가 entity입니다. TypeScript와 Typeorm을 사용해 express 프로젝트 세팅 🧱 초기 설치 npm init : package.json 파일 생성 npm install -g typescript : grobal로 typescript 설치, 처음 프로젝트에서만 설치하면 된다. tsc --init : tsconfig.json 파일 생성 tsconfic.json 파일 수.. juhi.tistory.com 🥾 기본 @데코레이션 종류 import {Entity, PrimaryGeneratedColumn, Column, CreateDateColum..
[React] redux-saga 시작하기! 기본적인 effects 활용 💥 redux-saga 비동기 작업을 하는 미들웨어가 필요할 때 사용한다. 특정 액션이 발생했을 때 상태 값이나 응답 상태 등에 따라 다른 액션을 디스패치 하거나 추가적인 로직을 적용 해야될 때 사용할 수 있다. api요청, 요청 실패 시 재요청 등의 리덕스와 관계없는 코드를 미들웨어로 실행시킬 수 있다. yarn add redux-saga 또는 npm install redux-saga ❗ generator 함수 generator 함수는 일반 함수와는 다르게 함수 코드 실행을 일시 중지했다가 필요한 시점에 재시작할 수 있는 함수이다. yield는 중단점을 만든다. yield 뒤에 값이 있으면 그걸 객체의 value에 담아 return하고 멈춘다. 아래와 같이 function*로 선언한다. next()를 ..
[React] redux-actions로 가독성 높이기 🔸 redux-actions yarn add redux-actions 액션 생성 함수를 더 짧은 코드로 작성할 수 있게 해준다. 리듀서를 작성할 때 switch문이 아닌 handleActions라는 함수를 사용할 수 있게 해준다. 🔸 createAction 액션 생성 함수를 만들어주는 함수이다. 직접 객체를 만들 필요 없어 훨씬 간단하다. createAction을 사용하지 않았을 때 const CHANGE_USER = 'user/CHANGE_USER'; // 액션 생성 함수 export const change_user = user => ({type: CHANGE_USER, user}); createAction을 사용했을 때 import { createAction } from 'redux-actions';..
[React] useSelector, useDispatch로 state에 접근하기 🔹 react-redux yarn add react-redux 또는 npm install react-redux state를 조회하기 위한 useSelector를 사용할 수 있다. action을 발생시키기 위한 useDispatch를 사용할 수 있다. 🔹 useSelector connect함수를 이용하지 않고 리덕스의 state를 조회할 수 있다. import { useSelector } from 'react-redux' const user = useSelector(state => state.user); 🔹 useDispatch 생성한 action을 useDispatch를 통해 발생시킬 수 있다 만들어둔 액션생성 함수를 import한다. import { change_user } from '../module..