# Map

1189개의 포스트
post-thumbnail

리액트 - 컴포넌트 반복

📗목차 컴포넌트 반복 데이터 배열을 컴포넌트 배열로 변환하기 key key 설정 응용 1. 데이터 추가 기능 구현하기 2. 데이터 제거 기능 구현하기 요약 정리 참고문헌 컴포넌트 반복 웹 애플리케이션을 만들다 보면 다음과 같이 반복되는 코드를 작성할 때가 있다. >IterationSample.js 코드에서 다음 형태가 계속 반복되는 것을 볼 수 있다. 지금은 li 태그 하나뿐이라 그렇게 문제가 되지 않을 거 같지만 코드가 좀 복잡해진다면 코드양은 더욱 늘어날 것이며, 파일 용량도 쓸데없이 증가하게 된다. 이는 낭비가 되고, 보여 주어야 할 데이터가 유동적이라면 이런 코드로는 절대로 관리하지 못한

3일 전
·
0개의 댓글
·

[JAVA] Collection

스텝 03 - 불변성 BIgDecimal 이나 Wrapper 클래스들도 불변인데 이건 무엇을 의미할까? 특정 클래스의 인스턴스를 만드는 순간부터 이 값을 바꿀 수 없다는 것이다. 비슷하게 우리가 .of 함수를 사용해 만든 List.of()나 Map.of() 같은 모든 것들은 불변 리스트이다. 가변 리스트를 만들고 싶다면 ArrayList를 만들던가 LinkedList 혹은 Vector를 만들어야 한다. 스텝 04 - ArrayList vs LinkedList ArrayList와 Vector의 경우에 사용되는 기본적 데이터 구조는 배열이다. 그러나 LinkedList의 경우에는 이용되는 데이터 구조가 LinkedList이다. 배열의 경우에는 값들이 서로 옆에 존재하여 값을 부르는 것은 굉장히 빠르지만 값을 변경하려면 복잡해진다. 가령 7번재있는 값을 제거한다면 7번째 이후에 존재 하는 값들을 전부 하나씩 왼쪽자리로 가져와야 한다는 것이다. 그러나 LinkedList의

7일 전
·
0개의 댓글
·

[프로그래머스] 베스트앨범(C++)

1. C++ Unordered_map vs map unordered_map map보다 더 빠른 탐색을 하기 위한 자료구조 입니다. unordered_map은 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)입니다. unordered_map은 중복된 데이터를 허용하지 않고, map에 비해 데이터가 많을 시 월등히 좋은 성능을 보입니다. (하지만 key가 유사한 데이터가 많으면 해시 충돌로 인해 성능이 떨어질 수 있습니다.) 해시 충돌이 많이 발생하는 상황에는 최악으로 O(N)의 시간복잡도를 가질 수있습니다. map Binary Search Tree로 탐색 시간 복잡도는 O(log(n))입니다. map은 자료를 저장할때 내부에서 key를 기준으로 정렬하며 오름차순으로 정렬합니다. 결론 QA > Unordered_map이 그럼 제일 좋을까?? >저장한 자료가 적을 때에는 메모리 낭비와 검색 시 오버헤드가 생기게 됩니다.

2023년 9월 17일
·
0개의 댓글
·
post-thumbnail

[Javascript] LV.1 나누어 떨어지는 숫자 배열

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1 을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 | arr | divisor | return | | --- | --- | --- | | [5, 9, 7, 10] | 5 | [5, 10] | | [2, 36, 1, 3] | 1 | [1, 2, 3, 36] | | [3,2,6] | 10 | [-1] | 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서

2023년 9월 17일
·
0개의 댓글
·
post-thumbnail

[프로그래머스] 숫자 문자열과 영단어

1. 문제 프로그래머스 - 숫자 문자열과 영단어 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어졌을 때, s가 의미하는 원래 숫자를 반환하는 문제("one4seveneight" -> 1478) 숫자의 일부 자릿수를 영단어로 바꾸는 예시 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 2. 코드 영단어와 그에 해당하는 숫자를 저장한 Map을 활용하는 방식 s에서 숫자와 영단어를 추출하여, 숫자는 그대로 result에 붙이고, 영단어는 숫자로 변환하여 붙이는 방식으로 해결 3. 개선 문자열 배열과 인덱스를 활용하는 방식 조금 덜 직관적이지만 더 간결하다.

2023년 9월 17일
·
0개의 댓글
·
post-thumbnail

1차 프로젝트 3일차

게시물 리스트 부분을 구현하는거를 맡게 되었고 코드는 이렇게 작성하였다. 게시물 UI랑 그는거조차 어려웟고! scss는 이렇게 코드를 작성하였다. 레이아웃이 이렇게 만들어졌고!! navigate 를 사용하여! 글쓰기 버튼을 눌렀을때 같은팀원이 작업하고있는 게시물 작성 페이지로 넘어가게 기능을 넣었고! 목데이터를 만들어서 fetch 메서드를 GET 을 사용하여! 목데이터를 가지고와서 테스트를 해볼수있었다 그러다 발생한문제는 화면이 render 가 되는과정에서 데이터를 가지고 올수없어서! 빈게시물이 보이는 문제가 발생하였고 데이터를 우선적으로 가지고오기위해 useEffect를 사용하여! 화면이 render 되기전 데이터를 가지고오는 방법을 선택하여서! 해결이되었다. 아직 useEffect 이

2023년 9월 15일
·
0개의 댓글
·

Java Map Null 처리

상황 -> Query에서 Map 형식으로 데이터를 넘겨줄때 Java Back 단에서 받는 Map에 Null이 들어 올때 처리 방법. 잘못된 예) 위 3가지 케이스는 모두 NullPointException이 발생함. 위 sol과 같은 방법으로 처리하게 되면 오류가 발생하지 않고 null 값을 처리 할 수 있다.

2023년 9월 15일
·
0개의 댓글
·

[javascript] map에서 reduce 사용하기

특정 키의 빈도를 포함하는 객체를 만들려고 한다. 나의 경우 여러가지의 DB에 접속해서 각각 데이터를 가져온 후 list에 담아준 상태인데 이름이 같은 사람끼리의 데이터를 갯수를 계산하여서 각각 사람마다 몇개의 글을 썼는지를 알고 싶었다. 그러기 위해서는 담아온 데이터를 redice를 사용해서 가져오려고한다 내가 가진 데이터는 user_id만을 list에 담아 가져왔다 > 참고문서 https://dongmin-jang.medium.com/javascript-15%EA%B0%80%EC%A7%80-%EC%9C%A0%EC%9A%A9%ED%95%9C-map-reduce-filter-bfbc74f0debd

2023년 9월 15일
·
0개의 댓글
·

[Javascript] map key, value 가져오기

Object에서 key를 배열로 가져오기 Object에서 value를 배열로 가져오기 Object의 entry(key-value 쌍)를 배열로 가져오기 for문을 이용해서 key, value 읽어 console.log()로 호출 백틱사용() > 참고문서 https://codechacha.com/ko/javascript-get-key-value-of-object/

2023년 9월 15일
·
0개의 댓글
·
post-thumbnail

Collection Framework

Collection Framework Collections 란 Collection을 다루기 위한 클래스 collection의 fill(), copy(), sort(), binarySearch() 제공 동기화 제공 ReadOnly 컬렉션 제공 싱글톤 컬렉션 생성 가능 이외에도 다양한 컬렉션 사용 가능한 메서드 제공 Collection List와 Set Map collection framework 는 다수의 데이터를 쉽고 효과적으로 처

2023년 9월 13일
·
0개의 댓글
·

[c/c++] 백준 1302(Silver 4)

🔨 문제 https://www.acmicpc.net/problem/1302 김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다. 오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 가장 많이 팔린 책의 제목을 출력한다. 만약 가장 많이 팔린 책이 여러 개일 경우에는 사전 순으로 가장 앞서는 제목을 출력한다. 🔨 해결방법 책의 이름과 그 책의 카운트 횟수를 모두 저장하여야 하기 때문

2023년 9월 12일
·
0개의 댓글
·
post-thumbnail

쏙쏙 들어오는 함수형 코딩 - Chapter 12

함수형 반복 map(), filter(), reduce()를 활용해 배열 반복문을 함수형 도구로 바꾸는 방법에 대해서 기술한 장이다. Map() Map 함수 만들기 배열과 함수를 인자로 받아 내부에 빈 배열을 만들고 원래 배열 항목으로 새로운 항목을 만들기 위해 f() 함수를 부른다. 이후에 원래 배열 항목에 해당하는 새로운 항목을 추가하고 새 배열을 반환한다. cf) JavaScript map() polyfill 이 함수는 값 하나를 바꾸는 함수를 배열 전체를 바꾸는 데 사용할 수 있다. 다만 map()에 액션을 넘기게 되면 모든 항목이 액션이 되므로, 계산에서 사용하는 것이 바람직하다. > 인라인 함수(inline function) 함수 이름을 쓰는 대신 쓰는 곳에서 무명으로 바로 정의하는 함수로, 익명 함수라고도 할 수 있다. Filter() Filter 함수 만들기

2023년 9월 11일
·
0개의 댓글
·

[Trie] Implement Trie (Prefix Tree)

1. 문제 LeetCode - Implement Trie (Prefix Tree) Trie 자료구조를 구현하는 문제 Trie에 문자열 word를 삽입하는 insert, Trie에 문자열 word가 존재하는지 확인하는 search, 문자열 접두사 prefix로 시작하는 문자열이 존재하는지 확인하는 startsWith 메서드 구현 2. 접근법 Trie를 구현하기에 앞서 필요한 Node 먼저 구현 Node는 Character 타입 문자 하나를 key로, Node를 value로 갖는 HashMap children 및 단어의 끝임을 나타내주는 isEnd 변수를 갖도록 구현 insert, search, startsWith 모두 루트 노드에서 자식 노드들까지 타고 들어가는 재귀적 방법으로 구현 3. 코드 4. 성능

2023년 9월 11일
·
0개의 댓글
·
post-thumbnail

[JAVA] List,Map,Set

//맵 : key, value Map map = new HashMap(); //셋 HashSet hash = new HashSet(); ArrayList의 특징 동기화를 보장해주지 않는다. 배열에 동적 메모리 증가 기능을 구현한 클래스이다. 동기화 지원 방법:List list = Collections.synchronizeList(new ArrayList(...)); add() method : Data 삽입할 때 사용 g

2023년 9월 8일
·
0개의 댓글
·

JSX foreach / map

JS를 공부하면서 foreach, map 둘다 반복문으로 사용해본적이 있을 것이다. 현재 React를 공부중인데 foreach와 map의 차이점을 알고 싶어서 작성한다. foreach forEach 메서드는 배열을 순회하는 여러 방법 중 하나입니다** Map map 메서드는 배열을 순회하는 여러 방법 중 하나입니다** 구성 요소 currentvalue : 사용할 요소 값 (필요) index : 사용할 요소 index (선택적으로 사용 가능) array : 순회중인 배열 (선택적으로 사용 가능) 두 문법의 파라미터는 같은데 뭐가 다른걸까? 성능 높을수록 효율적인데 foreach가 map보다 효율적이라고 한다. 각각 어디에 사용될까?

2023년 9월 7일
·
0개의 댓글
·
post-thumbnail

알고리즘 일기

HashMap 첫 사용 [프로그래머스 LV1 달리기 경주] 해당 문제를 푸는 과정에 반복문만 사용해서 코드를 작성하였는데 코드실행은 되었지만 후에 제출하니 시간 초과 오류가 발생하였다. 처음 작성한 코드(반복문만 사용) 제출 결과 지금까지 간단한 알고리즘을 풀면서 해쉬맵을 접근 할 기회는 많았지만 "굳이?? 반복문으로만 풀면 되는거 아냐?" 라는 생각으로 계속 반복문으로만 해결했었다. 그치만 이번에는 또 나의 고집으로 반복문으로 하려다가 결국 포기.. 생각 해보니 해쉬맵을 사용하면 조회하

2023년 9월 7일
·
0개의 댓글
·
post-thumbnail

nodejs2 백틱, 모듈화, map, arrow function, 비구조할당, 분해

230905 nodejs2 백틱(``)으로 감싼 문장을 템플릿이라고 한다. > 키보드의 물결표 버튼 그대로 누른거 에러 PS D:\chunjae_frontend> node ./js01.js > node:internal/modules/cjs/loader:1080 throw err; ^ Error: Cannot find module 'D:\chunjae_frontend\js01.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15) at Module._load (node:internal/modules/cjs/loader:922:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/runmainmodule:23:47 { code: 'MODU

2023년 9월 5일
·
0개의 댓글
·
post-thumbnail

BOJ - 10808 : 알파벳 개수

https://www.acmicpc.net/problem/10808 couting 문제 접근법 1) 배열로 접근 숫자로 들어오는 경우 배열로 접근 하는 것이 좋음 단, 1000만이 넘는 경우 배열이 sparse하게 사용되는 경우 위의 경우에는 map으로 접근 2) Map으로 접근 문자열로 들어오는 경우 Map으로 하는 것이 유리! 3) 자동 형변환...? 문자열을 int 배열에 집어 넣으면 알아서 ASCII로 저장됨.. 정확한 원리는 더 알아 봐야할듯! ASCII A = 65, a = 97 이정도는 외워주자! 문제 코드

2023년 9월 5일
·
0개의 댓글
·

[HashMap] Contains Duplicate II

1. 문제 LeetCode - Contains Duplicate II 정수형 배열 nums와 정수 k가 주어졌을 때, 인덱스 i와 j의 요소 값이 같으면서, 인덱스 i에서 j를 뺐을 때 절대값(요소간 간격)이 k보다 작거나 같다면 true를 리턴하는 문제 2. 접근법 먼저, 단순 이중 반복문을 사용하는 brute force 접근 방법으로 풀이 시도 시간 복잡도 O(n*n) -> 테스트 케이스 통과 실패 배열의 요소 값을 key로, 인덱스를 value로 사용하는 HashMap을 사용하여 O(n)의 시간 복잡도로 테스트 통과 3. 실패 코드 4. 성능(성공 코드 기준) - Runtime : 16ms - Memory : 56.7mb 5. 성공 코드

2023년 9월 4일
·
0개의 댓글
·
post-thumbnail

[알고리즘] 백준_새싹_반복_10950_A+B - 3

Hi, there! 오늘 정리하는 문제는 백준 10950 A+B - 3 문제이다. 🔹 단계: 새싹 🔹 분류: 반복 📌 백준_10950 A+B - 3 문제 바로가기 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력: 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 #### 예제 입력 > #### 예제 출력 💻 내가 제출한 정답 코드 👉 알고가자 1. 입력받을 때, input() 📌 출처 위키독스_사용자 입출력 어떤 수를 내가 입력할 수 있게 하려면 input() 사용

2023년 9월 2일
·
0개의 댓글
·