전체 150

[Mac] 패키지매니저 Homebrew 설치하기(+ cask)

맥을 구입하고 프로그램을 커맨드로 설치하고 관리할수 있도록 도와주는 brew입니다. 아마 npm이나 yarn, pip 등을 써보신 분은 조금 익숙하겠죠? 바로 시작하겠습니다. 현재는 아래 커맨드인데 언제 바뀔지 모르니 링크를 남겨드립니다. 여기! --> Homebrew # Homebrew 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 이제 패키지 매니저가 있으니 설치가 두렵지 않습니다. brew install '설치할것' 추가로 알아두면 좋을만한 것은 # brew 업데이트 (가끔 해주자) brew update # 패키지 업그레이드 brew upgrade '패키지' # 저는 그..

기타 2022.01.07

[Mac] itrem2 터미널 설정하기

맥을 구입해 기본 터미널을 사용하려 하니 여러모로 불편해 세팅했습니다. 1. 색 구분이 없다. 2. 사용자 이름과 컴퓨터 이름이 너무 길어 거슬린다. 3. 예쁘지가 않다 (윈도우에서는 cmder를 사용했었습니다.) 일단 지금 맥을 사는 사람들은 zsh가 기본으로 설치되어 있을테니.. 먼저 iterm2를 설치하고 터미널을 보기 좋게 만들어 보겠습니다. # iterm2 설치 # 1번 방법 brew install --cask iterm2 # 2번 방법 curl -LO https://raw.githubusercontent.com/mbadolato/iTerm2-Color-Schemes/master/schemes/Snazzy.itermcolors Oh my zsh는 테마를 쉽게 변경할 수 있고 여러 플러그인을 사용..

기타 2022.01.07

[Python] 프로그래머스 Lv2 기능개발

풀이 def solution(progresses, speeds): answer = [] complete = [] # 배포일 배열 for i in range(len(progresses)): #1 배포일을 계산해 complete에 대입 temp = (100 - progresses[i]) // speeds[i] if (100 - progresses[i]) % speeds[i] == 0: complete.append(temp) else: complete.append(temp + 1) count = 0 # 배포되는 기능 수 check = complete[0] # 처음 기능 배포일 for j in range(len(complete)): #2 배포되는 기능 수를 계산해 answer에 대입 if check >= com..

개발/PS 2022.01.03

[Python] collections 모듈 (Counter)

collections 모듈의 Counter를 이용하면 key와 value 값을 이용해 카운팅을 잘할 수 있다. 다음을 보면 코드와 결과를 확인할 수 있다. import collections listA = ['a', 'a', 'a', 'b', 'b'] listB = ['a', 'a', 'b', 'b', 'c'] A = collections.Counter(listA) // Counter({'a': 3, 'b': 2}) B = collections.Counter(listB) // Counter({'a': 2, 'b': 2, 'c': 1}) A-B //Counter({'a': 1}) A.keys() //dict_keys(['a', 'b']) 카운팅을 한 후에 key와 value 값을 Dictionary로 받아와..

개발/기타 2022.01.03

[Python] 프로그래머스 Lv1 완료하지 못한 선수

풀이 def solution(participant, completion): participant.sort() completion.sort() for i in range(0, len(completion)): if participant[i] != completion[i]: return participant[i] return participant[-1] #1. 배열을 모두 정렬한다. #2. 배열의 같은 인덱스를 비교해 다르면 그때의 participant의 값이 완주하지 못한 선수이다. #3. 만약 completion의 수 만큼 돌았는데도 모두 같다면 participant의 마지막 값이 완주하지 못한 선수이다. 해시 문제라고 써있는데 방법이 생각나지 않아 정렬로 풀었다. 처음에는 단순하게 for문을 2중으로 돌..

개발/PS 2022.01.03

[CSS] flex 요약 정리

* 붙은게 Default Flex container 속성 1. flex-direction * row, column, row-reverse, column-reverse 2. flex-wrap * no-wrap > 넘치면 넘치는 대로 나감 wrap > 넘치면 다음으로 넘어감 3. justify-content * flex-start 기준점 부터 시작 flex-end 기준점 반대 부터 시작 center 가운데 정렬 space-between 양 끝에 붙이고 균일한 여백 생성 space-around 위의 것에서 끝에 여백 생성 space-evenly 위의 것의 모든 여백이 균일 4. align-items * stretch 수직으로 늘림 flex-start 시작 기준 flex-end 끝 기준 center 가운데 정렬..

개발/Web 2022.01.02

[JS] Object의 Key를 이용하는 방법

Object라는 내장 객체를 사용할 수 있다. 만약 다음과 같은 object가 있다고 하자 example ={ 1:{} 2:{} 3:{} 4:{} 5:{} } // 위의 것은 다음과 같이 불러 사용할 수 있다. example[번호] // => 해당 번호, 즉 key의 {}가 된다 이제 map 함수로 Object를 이용해 키의 목록에 접근하는 방법은 다음과 같다. Object.keys(example).map((key) =>{ // 이렇게 map 함수로 key를 하나씩 뽑아올 수 있다. // 여기서 key를 이용해 원하는 로직을 짜면 되겠다. })

개발/Web 2022.01.01

[React] react-redux의 useSlector() , useDispatch() Hooks

지금까지 connect( , )()를 사용해서 해야하는 줄 알았는데 알고보니 좋은 Hook이 있었다. store에 접근할 때useSlector() , useDispatch() 를 이용해서 값을 받아오고 수정할 수 있다. 아래와 같이 store를 만들어 두었다고 하고 이 훅들을 이용해서 다음을 해보자 1.name을 받아오는 것 2.name의 값을 userA 에서 userB로 바꾸는 것 import { createStore } from 'redux'; const reducer = (state, action) => { if (state === undefined) { return { name: 'userA', }; } if (action.type === 'CHANGE') { return { ...state, n..

개발/Web 2022.01.01

[Python] 프로그래머스 Lv2 타켓넘버 (DFS, BFS)

자료구조를 배우지 않고 풀었기에 깊이/너비 우선 탐색을 잘 몰라 그냥 푼 코드임으로 나중에 다시 공부할 필요가 있는 코드. (그래도 일단 풀었으니 정리해두기) 풀이 def solution(numbers, target): answer = 0 temp = [0] # 1 처음엔 0으로 시작 for i in range(0, len(numbers)): temp2 = [] for j in range(0, len(temp)): # 2 temp2.append(temp[j] + numbers[i]) temp2.append(temp[j] - numbers[i]) temp = temp2 # 3 for i in range(0, len(temp2)): # 4 if target == temp2[i]: answer += 1 ret..

개발/PS 2022.01.01