분류 전체보기 43

[웅's 프로그래머스] 섬 연결하기 - 파이썬(Python) 풀이

문제를 읽자마자 아~ 이런 문제 어디서 많이 봤는데? 라는 생각이 들었다. 찾아보니 Kruskal 알고리즘의 대표적인 유형이었다. 나는 이 문제를 풀기 위해 3가지 개념을 공부했다. 1. Python 에서 list 를 정렬하는 방법 2. Union - Find 자료구조 3. Kruskal 알고리즘 1. Python 에서 list 를 정렬하는 방법 파이썬의 정렬에는 list.sort() 와 sorted(list) 두 가지 종류가 있다. list.sort() 의 경우에는 list 를 정렬해 주지만, sorted(list) 의 경우에는 list 를 정렬한 것을 리턴해준다는 특징이 있다. sorted(list) 의 경우 list 자체에는 영향을 미치지 않는다. 또한 sort() or sorted() 에는 2가지..

알고리즘 2021.09.22

[웅's 프로그래머스] 구명보트 - 파이썬(Python) 풀이

다른 것 보다도 문제를 풀면서 있었던 사고의 흐름을 적어보고자 한다. 먼저, 보트에는 무게 제한이 있기 때문에 최대한 무게 제한에 가까운 숫자로 보트를 꽉꽉 채워 넣는 것이 중요하다고 생각했다. 그렇게 하기 위해서는 무게가 많이 나가는 사람부터 태우고, 남는 무게 중 가능한 사람이 있으면 추가로 태우는 방식을 고려했다. 때문에 사람들을 무게 순으로 정렬했다. 그 다음은 반복문을 어떻게 돌까? 하는 고민이 들었다. 가장 큰 수부터 뽑고 남은 무게를 채울 수 있는 사람이 있는지 확인해야 하는데, 가장 작은 몸무게 부터 확인해야 할지, 그 다음으로 큰 몸무게 부터 확인해야할 지가 고민이었다. 결론은 그 다음 큰 수를 뽑을 경우 이전의 큰 수 보다 무조건 작기 때문에, 작은 수를 뽑을 때도 가장 작은 몸무게 부..

알고리즘 2021.09.22

[JS] Object Prototype 이란?

안녕하세요 :) 이번 포스팅은 [자바스크립트 프로토타입] 입니다. 1. Prototype 이란? 모든 자바스크립트의 객체 (Objects) 들은 Prototype 으로부터 Properties 와 methods 를 상속 받습니다. 예시로 우리가 자주 사용하는 list 를 하나 생성하겠습니다. let list = [1, 2, 3]; console.log(list.length) //3 위 예시를 보면 list 객체만 정의했을 뿐인데, list 내부 요소들의 개수를 알려주는 length 변수가 생성된 것을 알 수 있습니다. length 변수는 어떻게 생성된 것일까요? 콘솔창에서 list를 생성하고 그 모습을 보게 되면 [[Prototype]] 속성이 추가된 것이 보입니다. 이는 list 와 같은 Array ty..

CS 스터디 2021.09.06