전체 글

만두의 기술 블로그
이번 문제는 각 노드의 관계가 주어지고, 1번 마을로부터 각 마을까지의 최소거리를 구하여 원하는 결과를 도출한다는 점에서 다익스트라 또는 플로이드 워셜을 생각했다.다익스트라와 힙구조를 사용하였다.거리를 담을 dist 리스트를 생성해주고, 값은 inf로 초기화 했다.(최소거리를 구하기 때문)관계를 담을 graph 리스트를 생성하였다. graph에 담기는 순서는 [ 노드, 배달시간 ] 순서이다.다익스트라 알고리즘을 작성하는데,heap 을 생성하고 그 안에 시작 값을 담았다. [ 1, 0 ] 이후 반복문을 통해 heap이 빌때까지, 각 노드의 관계와 시간을 꺼내면서 시간을 비교하여 작은것을 담는 동시에 경유할때 발생하는 시간 또한 포함하였다. dist에 값을 계속해서 변경하였고, 이후 다시 heap에 담고 이..
문장에서 각 문자의 첫글자를 대문자로 바꾸고 나머지는 소문자. 단, 숫자가 있다면 모두 소문자.ex)"3people unFollowed me" -> "3people Unfollowed Me"split(" ")을 통해 문장을 단어 단위로 list를 만들었고,capitalize() 내장함수를 사용했습니다.def solution(s): answer = '' # 각 문자의 첫단어만 대문자, 나머지는 모두 소문자, 숫자가 나오면 모두 소문자 # 문장 나누기 words = s.split(" ") # 각 단어 앞글자만 대문자 cap_words = [ word.capitalize() for word in words ] # join을 활용해 다시 문장화 answer = ' '.join(cap_..
타겟 넘버.ex)numbers = [1, 1, 1, 1, 1], tartget = 3, return = 5이때,이와 같이 표현될 수 있다. index 0번부터 계속해서 빼고 더하는 동작을 반복하며, target에 맞는지 확인하는 작업을 해주면 된다.dfs에서도 재귀를 사용하여 알고리즘을 짰다.def solution(numbers, target): answer = 0 n = len(numbers) def dfs(idx, rlt): # index가 끝 if idx == n: # 결과와 target이 같을 때 if rlt == target: nonlocal answer answer += ..
JavaScript [9] - DOMDOM문서 객체 모델(Document Object Model)문서의 구조화된 표현을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공문서 구조, 스타일, 내용 등을 쉽게 변경할 수 있게 도움HTML 콘첸트를 추가, 제거, 변경하고, 동적으로 페이지에 스타일을 추가하는 등HTML/CSS를 조작 가능HTML 문서를 구조화하여 각 요소를 객체(object)로 취급단순한 속성 접근, 메서드 활용뿐만 아니라 프로그래밍 언어적 특성을 활용한 조작이 가능DOM TreeDOM은 문서를 논리 트리로 표현DOM에서 모든 것은 Node즉, HTML요소, 속성, 텍스트 모든 것이 노드각 노드는 부모 자식 관계를 형성하고 이에 따라 상속 개념도 동일하게 적용됨NodeDOM..
JavaScript [8] - 객체 객체객체는 속성(property)의 집합이며, 중괄호 내부에 key와 value의 쌍으로 표현key문자열 타입만 가능key이름에 띄어쓰기 등의 구분자가 있으면 따옴표로 묶어서 표현value모든 타입(함수포함) 가능객체 요소 접근점(.) 또는 대괄호([])로 가능key 이름에 띄어쓰기 같은 구분자가 있으면 대괄호 접근만 가능// 객체 리터럴 방식으로 객체 생성const person = { name : 'Viktor', age : 30, greeting: function() { console.log(`Hello, my name is ${this.name}`) }}// 객체의 메서드 호출person.greeting() // Hello, my name is Vik..
JavaScript [7] - 배열 메서드 심화 Array Helper Methods배열을 순회하며 특정 로직을 수행하는 메서드메서드 호출 시 인자로 callback 함수를 받는 것이 특징 (callback 함수 : 다른 함수의 인자로 전달되는 함수)// 콜백 함수 예시const numbers = [1, 2, 3]numbers.forEach(function (num) { console.log(num**2)})// 1// 4// 9const callBackFunction = function (num) { console.log(num**2)}numbers.forEach(callBackFunction)// 1// 4// 9forEacharray.forEach(callback(element [, in..