Loading...
2020. 10. 28. 04:08

[codility] sorting: MaxProduct of three

음수 경우를 생각하면서 풀어야 되는 문제 1. 가장 작은 수들이 음수인 경우 가장 작은 음수 2개 (절대값은 크다) * 가장 큰 원소를 곱할 경우 가장 큰 원소가 나올 수 있다. 가장 큰 원소도 음수인 경우는 자연스럽게 작은 수가 된다 2. 한 경우는 모든 것이 양수이고 세 개 곱한 것이 가장 큰 수인 경우이다 def solution(A): # write your code in Python 3.6 A.sort(); a=A[-1]*A[-2]*A[-3] b=A[0]*A[1]*A[-1] if a>b: return a else: return b

2020. 10. 27. 23:12

[TIL 2020-10-27 화] js 바인딩, 얕은복사, 깊은복사

2020/10/27 - [자바스크립트_개념편] - [javascript] this 바인딩(어렵다 어려워) [javascript] this 바인딩(어렵다 어려워) * boycoding.tistory.com/22?category=915176 jeonghwan-kim.github.io/2017/10/22/js-context-binding.html 글을 읽고 공부하며 요약정리한 글입니다 this는 함수가 호출되는 패턴에 따라서 다른 객체를 참조(바.. haerang94.tistory.com 2020/10/27 - [자바스크립트_개념편] - [javascript] 얕은 복사 (참조 복사), 깊은 복사(값 복사) [javascript] 얕은 복사 (참조 복사), 깊은 복사(값 복사) 출처: velog.io/@th0..

2020. 10. 27. 22:58

[javascript] this bind, this 바인딩(어렵다 어려워)

* boycoding.tistory.com/22?category=915176 jeonghwan-kim.github.io/2017/10/22/js-context-binding.html 글을 읽고 공부하며 요약정리한 글입니다 this는 함수가 호출되는 패턴에 따라서 다른 객체를 참조(바인딩) 한다 객체 메서드 호출: 메서드를 호출하는 객체에 바인딩 함수를 호출: 전역 객체에 바인딩 (내부 함수 호출 포함) 생성자 함수 호출: 새로 생성되는 객체에 바인딩 1. 객체 메서드 호출 const a={ name:'sara', output:function(){ console.log(this.name); } } const b={name:'b'} b.output=a.output a.output(); //sara 암시적 바..

2020. 10. 27. 00:54

[javascript] 얕은 복사 (참조 복사), 깊은 복사(값 복사)

출처: velog.io/@th0566/Javascript-%EC%96%95%EC%9D%80-%EB%B3%B5%EC%82%AC-%EA%B9%8A%EC%9D%80-%EB%B3%B5%EC%82%AC wanna-b.tistory.com/18 이 글은 위 글을 공부하면서 제가 기록한 글입니다. 자바스크립트 값의 타입은 원시 타입과 참조 타입이 있다 원시타입 참조타입 number string boolean null undefined object symbol 1. 깊은 복사, 값 복사 (Deep Copy, 실제로 새로운 변수와 값을 만들어내는 복사) 원시값은 새로운 배열에 같은 값을 새로 생성(!)해서 그 값을 새로운 변수에 할당한다 let a=100; let b=a; a=200; console.log(a); //2..

[React] 배열 데이터 처리(생성,렌더링, 수정,제거)

* velopert.com/3636 velopert.com/3638공부하며 필요한 부분 메모한 글입니다 배열에 데이터를 추가할 때 push메소드를 쓰듯이 this.state.array.push('value'); 로 하면 안된다. 리액트에서는 내부 값을 직접적으로 수정하면 안된다 (불변성 유지) push,splice,unshift,pop은 기존 배열 자체를 수정하므로 쓰지 않는 것을 권장한다(state를 건든다면) 대신 새 배열을 만들어내는 함수인 concat, slice, map, filter와 같은 함수를 사용할 수 있다. 불변성 유지를 하는 이유는 리액트에서 모든 것들이 필요한 상황에 리렌더링 되도록 할 수 있고 성능도 최적화할 수 있기 때문이다. const array = [1,2,3,4]; cons..

[React] 리액트 undefined처리 방법 (누구든지하는 리액트5편 공부정리)

* 이 글은 velopert.com/3631 을 공부하며 필요한 부분을 기록 정리한 글입니다. 렌더링 부분에서 오류가 발생하는 것 방지해 주는 방법 에러가 나는 경우 this.props.onClick(); // 존재하지 않는 함수를 호출시 에러 this.props.object.value; // object is undefined this.props.array.length; // array is undefined // 배열이나 객체가 존재하지 않을 때 해결법 1. undefined의 경우를 처리해준다 render() { if (!this.props.object || !this.props.array || this.props.array.length ===0) return null; // object 나 arr..

2020. 10. 21. 01:46

[TIL 2020-10-21] 오늘의 공부 ~ 운영체제, 알고리즘,리액트 기초 정리

[운영체제] 2020/10/20 - [운영체제 요약정리] - [운영체제] 운영체제의 역사 [알고리즘, dp 부문] 2020/10/21 - [Leetcode] - [LeetCode] Fibonacci number (dp, 파이썬) 2020/10/21 - [Leetcode] - [LeetCode] Maximum Subarray(python, 최대 서브배열,dp) [리액트] 2020/10/21 - [React공부] - [React] 배열 데이터 처리(생성,렌더링, 수정,제거) 2020/10/21 - [React공부] - [React] 리액트 undefined처리 방법 (누구든지하는 리액트5편 공부정리)

[LeetCode] Maximum Subarray(python, 최대 서브배열,dp)

합이 최대인 부분 배열을 찾는다 현재 값 혹은 현재값 + 이전까지의 합이 큰지 비교해서 더 큰 값을 dp배열에 넣고 최대 값을 리턴하면 된다. O(n)이 걸린다 class Solution: def maxSubArray(self, nums: List[int]) -> int: answer=[nums[0]] for i in range(1,len(nums)): answer.append(nums[i]+(answer[i-1] if answer[i-1]>0 else 0)) return max(answer) * 카데인 알고리즘 (가끔 알고리즘이나 자료구조 공부할 때 항상 등장하는 부분배열 최대값 구하기 알고리즘이다 O(n)에 구할 수 있다 현재의 부분 배열 합과 리턴해줄 최대값을 비교해 더 큰 값으로 계속 갱신해준다 ..

[LeetCode] Fibonacci number (dp, 파이썬)

이런 방식으로 하면 공간복잡도(1) 시간복잡도(n)으로 아주 효율성이 좋다 class Solution: def fib(self, N: int) -> int: x,y=0,1 for _ in range(N): x,y=y,x+y return x 기본 메모이제이션 풀이 from collections import defaultdict class Solution: dict=defaultdict(int) def fib(self, N: int) -> int: if N

[운영체제] 운영체제의 역사

40년대 진공관 (0,1) 사용 50년대 카드 리더, 라인 프린터 (일괄작업시스템, 운영체제등장) 60년대 초반 키보드, 모니터 (대화형 시스템) 60년대 후반 c언어 (다중 프로그래밍 기술 개발, 시분할 시스템) 70년대 pc (개인용 컴퓨터 등장, 분산시스템) 90년대 웹 (클라이언트/서버 시스템) 2000년대 스마트폰 (p2p시스템, 그리드 컴퓨팅, 클라우드 컴퓨팅, 사물 인터넷) 40년대 진공관 최초 컴퓨터 에니악이 미사일 탄도 계산을 위해 제작됨 (2진법의 시초) 하드와이어링 방식: 전선으로 논리회로를 구성하는 것, 운영체제 없었음 50년대 일괄작업시스템 ic칩으로 만들어짐(진공관과 전선으로 만들어진 논리회로를 아주 작은 크기로 만든 것) cpu있으나 키보드, 모니터 같은 입출력 장치 없었음. ..