map 6

리스트 원소 중에서 가장 길이가 긴(최대길이) 원소 찾기

알고리즘 문제를 풀다가 map을 활용해서 리스트 원소 중에서 가장 길이가 긴 원소를 찾는 방법을 배웠다.사실 map의 원리를 잘 이해하면 알 수 있는 내용이지만, 빠르게 찾는 방법을 알아두면 좋으니 배워보자. 먼저, 방법부터 말하자면 아래와 같이 활용할 수 있다.n = max(map(len,list)) 편의상 list를 nums 라는 리스트라고 가정해보자. map(len, nums) 는 nums가 리스트라고 가정할 때, map 함수는 리스트 nums 의 각 요소에 대해 len 함수를 적용한다는 의미다.즉, nums 에 있는 각 요소의 길이를 계산하여 반환하는 작업이라 할 수 있다.예시를 살펴보자.nums = [[1,2,3], [4,5], [6]] 위와 같은 nums 리스트가 있다고 한다면, map(len..

Javascript 중급 - 2) closure, 구조 분해 할당, map, filter, reduce, 전개연산자

- 클로저(Closure)는 함수와 그 함수가 선언된 어휘적 환경(Lexical Environment)의 조합을 말한다. 다시 말해서, 클로저는 내부 함수에서 외부 함수의 스코프(Scope)에 접근할 수 있게 해주는 기능이다. 자바스크립트에서는 함수가 생성될 때마다, 즉 함수 생성 시에 클로저가 만들어진다. 다른 함수 내부에 정의된 함수(innerFunction)가 있는 경우 외부 함수(outerFunction)가 실행을 완료하고 해당 변수가 해당 함수 외부에서 더 이상 엑세스할 수 없는 경우에도 해당 내부 함수는 외부 함수의 변수 및 범위에 액세스할 수 있다. ... 무슨말이죠 이게? ... 예를 들어, 외부 함수에서 변수를 선언하고, 내부 함수에서 이 변수에 접근할 수 있게 해..

Javascript 에서 forEach 함수는 비동기함수를 기다리지 않아요!

🚨 문제 상황 배열에 담긴 요소들을 하나씩 뽑아내는 작업을 할 때 아래와 같은 코드가 있다고 해보자. const allu = new Array(10).fill('dachshund'); const result = [] const asyncFunction = (i) => { return new Promise(resolve => { setTimeout(() => { result.push(i) resolve() }, 1000); }) } allu.forEach(async (_,i)=>{ await asyncFunction(i) }) console.log(result) 위 코드처럼 작성하면 result 값에 원하던 값이 들어가있지 않고 초기의 배열인 빈값이 출력됐다. forEach는 내부에 들어있는 순차적으로배열..

list(map(int, input().strip().split())) 와 [map(int, input().strip().split())] 의 차이

문득 알고리즘 문제를 풀다가 list(map(int, input().strip().split())) 랑 [map(int, input().strip().split())] 의 차이 의 차이에 대해 궁금해서 찾아봤다. 정말 직관적으로 이해가 가능했다. 이들의 차이를 이해하려면 Python의 'map' 함수와 리스트 컴프리헨션에 대해 이해할 필요가 있다. 1. list(map(int,input().strip(),split())) input().strip(),split() 은 입력된 문자열을 공백을 기준으로 나누어 리스트로 만든다. map(int, ...) 는 이 리스트의 각 원소를 정수로 변환한다. 'map' 함수는 지정된 함수(여기서는 'int')를 리스트의 각 원소에 적용한다. list(...) 는 'map..

2차원 배열에서 최댓값 찾기

우리는 코딩을 하면서 또 알고리즘 문제를 풀면서, 2차원 배열을 정말 많이 쓴다. 2차원 배열을 한줄로 빠르게 생성하는 List Comprehension을 종종 사용하곤 하는데, 그러면 2차원 배열에서 어떤 원소값이 가장 큰 값인지 한번에 찾는 방법은 없을까? 물론, for문으로 배열을 돌면서 입력값 하나하나를 비교해가면서 찾을 수야 있겠지만, 빠르게 찾는 방법이 있으니까 한번 배워보자. ◆ max 값을 사용하면 되는 것 아닐까? vertices = [[1, 7, 12], [4, 7, 13], [1, 5, 17], [3, 5, 20], [2, 4, 24], [ 1, 4, 28], [3, 6, 37], [5, 6, 45], [2, 5, 62], [1, 2, 67], [5, 7, 73]] numvert = ..

반응형