이 영역을 누르면 첫 페이지로 이동
자라자 블로그의 첫 페이지로 이동

자라자

페이지 맨 위로 올라가기

자라자

개발자를 준비하는 자라자의 블로그입니다.

분류 전체보기

  • 자라자
[프로그래머스] 네트워크 파이썬

[프로그래머스] 네트워크 파이썬

2021.11.27
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/43162 [입출력 예] n computers return 3 [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 2 3 [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 1 [소스코드] def solution(n, computers): #nested function을 이용하면 매번 computers, visited를 넘겨주지 않아도 괜찮다!!! #scope가 윗방향으로만 탐색되어진다는 걸 항상 기억하자 def dfs(i): if visited[i]==False: visited[i]=True for j in range(len(computers)): if j != i and comp..
[프로그래머스] 정수삼각형 파이썬 풀이

[프로그래머스] 정수삼각형 파이썬 풀이

2021.11.27
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/43105 [입출력 예] triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 def solution(triangle): answer = [] #1 #answer의 i번째 원소에는 i번째 줄 까지 왔을 때 각 위치에서 누적값의 최대값 for line_index, line in enumerate(triangle): answer.append([]) for element_index,element in enumerate(line): if line_index ==0: answer[0].append(element) #2 # 처음 원..
TypeScript Object, object, {} 비교

TypeScript Object, object, {} 비교

2021.11.26
들어가며 타입스크립트의 객체는 세 가지 타입이 있는데, 헷갈릴 수 있기 때문에 정리해보았다. Object 자바스크립트 객체와 완전히 동일하다. 즉, toString(), hasOwnProperty() 등을 가지고 있다. Object.prototype. ...으로 쓸 수 있는 API들을 다 쓸 수 있다. primitive type, none-primitive 모두 할당될 수 있다. {} Object와 비슷하지만 비어있다. runtime에는 Object와 같지만 컴파일 시에는 다르다. 컴파일 시에는 Object의 멤버를 가지고 있지 않고, Object가 더 엄격한 객체이다. object typescript에서 추가된 객체 타입으로, non-primitive type을 할당할 수 있지만, primitive t..
[프로그래머스] 디스크 컨트롤러 파이썬

[프로그래머스] 디스크 컨트롤러 파이썬

2021.11.25
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/42627 [입출력 예] jobs return [[0, 3], [1, 9], [2, 6]] 9 [소스코드] from collections import deque def solution(jobs): import heapq # while 문 두 번 사용 # 우선 요청 순서대로 정렬하고, # 하나 처리 후 현재까지 온 요청들을 # 빨리 끝낼 수 있는 것부터 처리 # 1. jobs 정렬 # deque은 sort, sorted와 안맞는다. jobs=deque(sorted(jobs)) # n은 처리한 요청 수 answer = 0 n = 0 # 2. 최초 시간 설정 # 시간을 따라가면서 작업을 진행한다. # 처리..
[프로그래머스] 가장 먼 노드 파이썬 풀이

[프로그래머스] 가장 먼 노드 파이썬 풀이

2021.11.25
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/49189 [입출력 예] n vertex return 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 [소스코드] from collections import deque def bfs(v,visited,graph): count=0 q=deque([[v,count]]) #4 # 노드번호,count while q: value=q.popleft() v=value[0] count=value[1] if visited[v]==-1:#5 # 미방문 지역일 경우 # 방문여부갱신, count증가 # 증가된 카운트를 다음 점과 연결 # count를 누적방식으로..
[프로그래머스] N으로 표현 파이썬 풀이

[프로그래머스] N으로 표현 파이썬 풀이

2021.11.25
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/42895 [입출력 예] N number return 5 12 4 2 11 3 [소스코드] def solution(N, number): possible_set=[[]] #1. possible_set의 i번째 원소는 # 0번 인덱스는 쓰지 않기 때문에 빈 리스트를 채운다. # 2. i개의 숫자로 만들 수 있는 숫자 종류이다. # 3. 가장 먼저 그 수 i개를 그대로 붙여서 만들 수 있는 것을 추가한다. for i in range(1,9): temp=[] temp.append(int(str(N)*i)) for j in range(1,i//2+1): print(j,i//2+1) for a in possib..
브라우저 공부

브라우저 공부

2021.11.20
들어가며 여기에 있는 내용을 통해 브라우저에 대해 공부해본다. 정리 전역 객체는 window이고 크게 세 갈래(DOM--document, BOM--navigator, JavaScript--Object)로 나뉜다. DOM의 모든 요소는 객체이다. 태그도 객체, 텍스트도 객체, 주석도 객체이다. 개발자 도구에서는 띄어쓰기만 있는 빈 텍스트노드는 나타나지 않는다. 돔요소를 선택하면 그 요소는 $0으로 접근 가능하다. 가장 마지막에 접근한 요소는 $0, 그전은 $1 ... document가 최상단 노드이고, document.documentElement가 그 하위 노드이다. 이는 html태그와 동일하다. 그 아래는 document.body로 body태그랑 일치한다. (head = document.head) nod..
React.js 공식문서 정리 - Hook

React.js 공식문서 정리 - Hook

2021.11.18
들어가며 개발자에게 가장 중요한 습관은 문서를 읽는 습관이라고 생각합니다. 이 글은 리액트 공식 문서를 정독하며 내용을 정리하기 위해 작성하게 되었습니다. 모든 내용을 정리하기 보다는, 모르는 내용이나 기억하고 싶은 내용 위주로 정리합니다. 공식 문서의 주소는 https://reactjs.org/docs/accessibility.html입니다. Hook 1. Hooks Intro 훅의 장점으로, 기존 클래스 기반에서 생명주기에 따라 로직을 복잡하게 구사했던 것을 간편하게 개선할 수 있다. 2. Hook overview useEffect는 sideEffect를 커버하기 위한 hook이다. useEffect는 렌더링 이후에 effect를 수행한다 useEffect에서 반환하는 함수를 이용하면 effect를 ..
React.js 공식문서 정리 - Advanced Guides

React.js 공식문서 정리 - Advanced Guides

2021.11.17
들어가며 개발자에게 가장 중요한 습관은 문서를 읽는 습관이라고 생각합니다. 이 글은 리액트 공식 문서를 정독하며 내용을 정리하기 위해 작성하게 되었습니다. 모든 내용을 정리하기 보다는, 모르는 내용이나 기억하고 싶은 내용 위주로 정리합니다. 공식 문서의 주소는 https://reactjs.org/docs/accessibility.html입니다. ADVANCED GUIDES Accessibility WCAG의 기준을 만족하는 web content를 작성할 필요가 있다. 아무런 의미없는 -묶어주기위한- 용도로 div를 쓰지 말자. Fragment를 이용할 것. props를 넘겨줄 수 있다는 장점이 있는데 없으면 빈 엘리먼트 를 써도 된다. 원칙상으로는 input, textarea요소에 label을 제공해야한..
[프로그래머스] 자물쇠와 열쇠 파이썬

[프로그래머스] 자물쇠와 열쇠 파이썬

2021.11.11
문제 링크 풀이1 https://johnyejin.tistory.com/127 lock을 중앙에 고정시키고 key를 주위에서 맞춰본다. 마치 CNN의 컨볼루션 연산과 같다. check는 키가 맞는지를 체크한다. 우선 startX,startY는 확장된 그래프에서 0,0부터 lock의 오른쪽 하단까지를 돌고, i,j는 키 안을 순회한다. 그렇게 start+i,j 값을 통해 키를 맞춰본다. 맞춰보는 과정에서는 값을 더한다. 그리고 lock을 더해준다. 더함과 동시에 1인지 체크, 1이 아니면 False반환 4번 도는 for문에서 key를 한번 회전시키고 다시 for문을 처음부터 돌린다.
[프로그래머스] 다단계 칫솔 판매 파이썬

[프로그래머스] 다단계 칫솔 판매 파이썬

2021.11.11
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/77486 [입출력 예] enroll referral seller amount result ["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"] ["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"] ["young", "john", "tod", "emily", "mary"] [12, 4, 2, 5, 10] [360, 958, 108, 0, 450, 18, 180, 1080] ["john", "mary", "edward", "sam", "emily", "jaimie", "t..
오픈소스에 기여하는 법 : MDN 문서에 기여하기

오픈소스에 기여하는 법 : MDN 문서에 기여하기

2021.11.10
들어가며 MDN에서 이벤트 관련 내용을 학습 중이었는데, 연결된 문서인 Web/API/AbortSignal에 어체가 단순히 번역만 되어 있는 것을 발견했다. 이것을 고쳐보고 싶었다. Mozilla 한국어 문서 번역 스타일 가이드에 따르면 경어체, 합쇼체로 수정이 필요해 보였다. 별 것 아닌 일이지만 그동안 오픈 소스에 기여해보고 싶었는데, 내친 김에 해봐야겠다 싶었다. MDN에 기여하는 법 1. 우선 가장 먼저 MDN Korea 오픈 톡방에 들어갔다. 2. 아래의 가이드라인을 따랐다. [ko] 한국 첫 기여자들을 위한 가이드라인 [ko] 한국 첫 기여자들을 위한 가이드라인 · Issue #827 · mdn/translated-content Progress 한국 첫 기여자들을 위한 가이드라인 우선 작성 한..
Event

Event

2021.11.09
들어가며 https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events Introduction to events - Learn web development | MDN Events are actions or occurrences that happen in the system you are programming, which the system tells you about so you can respond to them in some way if desired. For example, if the user selects a button on a webpage, you might want to respond to that a de..
JavaScript export와 export default 차이

JavaScript export와 export default 차이

2021.11.09
export vs. default export export는 이름을 그대로 살려서 보내는 것이고, default export는 default로 내보낸다. export default로 내보냈다면 import시 아무이름으로나 받아올 수 있다. (as로 바꾸는 것이 아니라 바로 import로 다른 이름으로 받아오는 것이 가능하다.) 한 모듈 안에 여러 가지를 export하는 경우에는 export를, 한 모듈 안에 export 대상이 하나면 export default를 사용한다. Reference https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/export
크롬 글자 일그러짐 현상 해결법

크롬 글자 일그러짐 현상 해결법

2021.11.09
블로그 글을 쓰다가 문득 글자 두께가 일정하지 않은 버그가 있음을 발견했다. 블로그 스킨편집에 가서 폰트도 바꿔보고 css font weight도 바꿔보고 여러 설정을 바꿔봤는데.. 삽질을 하다가 결국에 브라우저 문제라는 걸 알게 됐다. 해결 방법 chrome://flag 에 접속 후 우측 상단의 Reset all 클릭
React.js 공식문서 정리 - Main Components

React.js 공식문서 정리 - Main Components

2021.11.08
들어가며 개발자에게 가장 중요한 습관은 문서를 읽는 습관이라고 생각합니다. 이 글은 리액트 공식 문서를 정독하며 내용을 정리하기 위해 작성하게 되었습니다. 모든 내용을 정리하기 보다는, 모르는 내용이나 기억하고 싶은 내용 위주로 정리합니다. 공식 문서의 주소는 https://reactjs.org/docs/hello-world.html 입니다. MAIN CONCEPTS 1. Hello World ReactDOM.render로부터 리액트 앱이 시작됨. 첫번째는 보낼 react element, 두 번째 인자는 html문서로부터 id = root인 태그를 가져옴. 2. Introducing JSX JSX는 JS의 syntax extension이다. JSX 자체는 문법(syntax)의 이름이고, JSX의 생성물은..
React Vercel로 배포 시 TypeError: Object(...) is not a function

React Vercel로 배포 시 TypeError: Object(...) is not a function

2021.11.04
(Vercel Eng (베르셀 TypeError: Object(...) is not a function 수정하기 (Vercel 배포 중) 로컬에서 멀쩡히 잘 실행되던 프로젝트가 vercel로 배포하자 에러를 띄우면서 렌더링이 안 되었다. 문제는 `react hooks` 가 import될 때 'react'가 아닌 다른 경로로 자동 import 돼서 그랬다. import 부분을 다시 체크해보자!
우아한 테크코스 3기 데모데이 후기

우아한 테크코스 3기 데모데이 후기

2021.11.03
/wooteco Eng /우테코 우아한 테크코스3기 데모데이 참가자로 선정이 되었다. 최근 4기가 모집 중이어서 알아보다가 알게되어 신청했고, 다녀왔다! 아래 홈페이지에서 관련 프로젝트들을 볼 수 있다. 발표회는 게더타운에서 진행되었고, 발표물을 둘러보고 궁금한 점이 있으면 개발자들에게 물어보는 식으로 진행되었다. https://sites.google.com/woowahan.com/wooteco-demo-3rd 홈 우테코 데모데이에 초대합니다! sites.google.com 굉장히 여러 서비스가 발표되었는데, 하나하나 다 재밌는 아이디어였고 완성도도 높았다. 여담으로 댓글 이벤트도 참여했는데 당첨이 되어 스벅 쿠폰도 탔다..ㅎㅎ
Vanila JS로 TO DO LIST 만들기

Vanila JS로 TO DO LIST 만들기

2021.11.03
들어가며 신촌IT연합동아리 CEOS에서 프론트엔드 스터디를 하면서 진행한 미션을 되돌아본다. 미션 주제는 Vanilla JS로 To-do list를 구현하는 것이었다. 할 일과 한 일을 구분하여 보여주고 클릭 시 반대편으로 이동하는 기능이 있다. 또 외부 폰트와 localStorage를 이용하는 것이 미션의 내용이었다. 자세한 미션의 내용은 여기서 볼 수 있다. 결과를 github Pages로 배포했는데 여기서 체험할 수 있다. github 주소 https://github.com/BonJunKu/vanilla-todo-14th index.html ```html ✍진행 중인 작업(0) 😆완료된 작업(0) + ``` Style.css ```css /* Global */ :root { /* Color */ -..
신촌IT창업동아리 CEOS에 합류하다

신촌IT창업동아리 CEOS에 합류하다

2021.11.03
CEOS란 CEOS는 신촌 인근 대학(연대, 서강대, 홍대, 이대)의 연합동아리로, IT창업을 위한 동아리이다. 기획, 디자인, 백엔드, 프론트엔드 파트를 나누어서 인원을 선발하고, 한 학기동안 하나의 서비스를 만드는 것을 중심으로 활동이 진행된다. 친구 덕분에 우연히 알게 된 동아리이다. 부스트캠프를 끝낸 후 바로 CEOS에 합류하게 되었다. 지원과정 구글 폼을 통해 서류를 제출했고, 줌으로 면접을 봤다. 면접은 다대다 면접이었다. 합격 감사하게도 프론트엔드 팀에 합류하게 되었다. 면접 때 잘 말했던 질문도 있고, 잘 대답하지 못했던 질문도 있지만 그래도 부스트캠프 활동을 좋게 봐주셨던 것 같다. 활동 매주 수요일마다 저녁에 정기 세션이 진행되어 창업 아이템을 발굴하는 형태로 진행되고, 각 파트별로는 ..
프로그래머스_정수삼각형

프로그래머스_정수삼각형

2021.10.20
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/43105?language=python3 [소스코드] def solution(triangle): answer = [] for line_index, line in enumerate(triangle): answer.append([]) for element_index,element in enumerate(line): if line_index ==0: answer[0].append(element) if line_index >0 \ and (element_index == 0 or element_index == len(line)-1): answer[line_index].append(element+answer[l..
[프로그래머스] 입국심사 파이썬 풀이

[프로그래머스] 입국심사 파이썬 풀이

2021.10.18
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/43238 [입출력 예] n times return 6 [7, 10] 28 입출력 예 설명 가장 첫 두 사람은 바로 심사를 받으러 갑니다. 7분이 되었을 때, 첫 번째 심사대가 비고 3번째 사람이 심사를 받습니다. 10분이 되었을 때, 두 번째 심사대가 비고 4번째 사람이 심사를 받습니다. 14분이 되었을 때, 첫 번째 심사대가 비고 5번째 사람이 심사를 받습니다. 20분이 되었을 때, 두 번째 심사대가 비지만 6번째 사람이 그곳에서 심사를 받지 않고 1분을 더 기다린 후에 첫 번째 심사대에서 심사를 받으면 28분에 모든 사람의 심사가 끝납니다. [소스코드] def solution(n, times):..
프로그래머스_추석트래픽

프로그래머스_추석트래픽

2021.10.14
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/17676?language=python3 [입출력 예제] 각 문자열은 요청에 대한 응답 완료시간S와 처리시간 T이다. 처리 시간은 끝 시간을 포함하기 때문에, 응답 시작시간은 완료시간-처리시간 + 0.001초이다. 이런 상황에서 요청이 가장 많은 1초를 찾는 것이 목표이다. [소스코드] def solution(lines): # end == Response Completion Time 응답 완료 시각 # start == Response Beginning Time 응답 시작 시각 # processing == Processing Time 응답 처리시간 answer = 0 start_times=[] #1. ..
프로그래머스_표_편집

프로그래머스_표_편집

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/81303 [입출력 예] n k cmd result 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" [소스코드1] 출처: https://ckd2806.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-python-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%91%9C-%ED%8E%B8%EC%A7%91 def solution(..
프로그래머스_N개의최소공배수_파이썬

프로그래머스_N개의최소공배수_파이썬

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/12953?language=python3 [소스코드] def gcd(a,b): if (b>a): a,b=b,a if b==0: return a return gcd(b,a%b) def lcm(a,b): return a*b/gcd(a,b) def solution(arr): answer=1 for i in range(len(arr)): answer=lcm(arr[i],answer) return answer [풀이] 유클리드 호제법으로 gcd 정의 두개씩 최소공배수 구하면 됨.
프로그래머스_신규아이디추천_파이썬

프로그래머스_신규아이디추천_파이썬

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/72410 [소스코드] import re def solution(new_id): st = new_id st = st.lower() st = re.sub('[^a-z0-9\-_.]', '', st) st = re.sub('\.+', '.', st) st = re.sub('^[.]|[.]$', '', st) st = 'a' if len(st) == 0 else st[:15] st = re.sub('^[.]|[.]$', '', st) st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))]) return st 정규표현식 사용법 ..
프로그래머스_크레인_인형뽑기_게임

프로그래머스_크레인_인형뽑기_게임

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/64061 [소스코드] def solution(board, moves): stacklist = [] answer = 0 for i in moves: for j in range(len(board)): if board[j][i-1] != 0: stacklist.append(board[j][i-1]) board[j][i-1] = 0 if len(stacklist) > 1: if stacklist[-1] == stacklist[-2]: stacklist.pop(-1) stacklist.pop(-1) answer += 2 break return answer [풀이] 순회할 때, move는 열좌표이며 1부터 시..
프로그래머스_키패드누르기_파이썬

프로그래머스_키패드누르기_파이썬

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/67256 [소스코드] def solution(numbers, hand): answer = '' key_dict = {1:(0,0),2:(0,1),3:(0,2), 4:(1,0),5:(1,1),6:(1,2), 7:(2,0),8:(2,1),9:(2,2), '*':(3,0),0:(3,1),'#':(3,2)} left = [1,4,7] right = [3,6,9] lhand = '*' rhand = '#' for i in numbers: if i in left: answer += 'L' lhand = i elif i in right: answer += 'R' rhand = i else: curPos = ke..
프로그래머스_비밀지도_파이썬

프로그래머스_비밀지도_파이썬

2021.09.09
[문제 링크] https://programmers.co.kr/learn/courses/30/lessons/17681 [소스코드] def solution(n, arr1, arr2): answer = [] for i,j in zip(arr1,arr2): a12 = str(bin(i|j)[2:]) a12=a12.rjust(n,'0') a12=a12.replace('1','#') a12=a12.replace('0',' ') answer.append(a12) return answer [풀이] zip()은 2개 이상의 시퀀스를 짧은 길이 기준으로 일대일 대응하는 튜플 시퀀스를 만들고 제너레이터로 리턴한다. 내장함수 bin()은 이진수로 바꿀 수 있다. bin()을 사용하면 0b가 앞에 붙기 때문에 슬라이싱해준다. ..
VS Code 터미널 Git bash로 변경하기

VS Code 터미널 Git bash로 변경하기

2021.09.03
VS Code 기본 터미널 변경하기 VS Code 업데이트로 "terminal.integrated.shell.windows" 기능이 폐지되었다. 복수의 터미널을 사용할 수 있도록 프로필을 관리하는 형태로 업데이트되었다. VS Code 기본 터미널을 Git Bash로 바꾸기 위해 아래와 같은 동작을 수행하면 된다. setting.json에 아래 항목 추가 "terminal.integrated.profiles.windows": { "GitBash": { "path":["D:\\Git\\bin\\bash.exe"], "icon":"terminal-bash" }, "PowerShell": { "source": "PowerShell", "icon": "terminal-powershell" }, "Command P..
  • 최신
    • 1
    • 2
    • 3
    • 4
  • 다음

정보

자라자 블로그의 첫 페이지로 이동

자라자

  • 자라자의 첫 페이지로 이동

검색

메뉴

  • 🏠 HOME
  • 💡 ABOUT
  • 💻 GITHUB

카테고리

  • 분류 전체보기 (91)
    • Tech Note (3)
    • Dev Log (11)
    • Study Log (11)
    • Settings (3)
    • PS (53)
      • Programmers (21)
      • BOJ (32)
    • Diary (10)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • ㅣ
  • 리액트
  • 공식문서읽기

나의 외부 링크

정보

자라자의 자라자

자라자

자라자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 자라자. Designed by Fraccino.

티스토리툴바