코딩 테스트 대비 자료의 49페이지 Tip에 대한 질문입니다.
89
投稿した質問数 4
데이터 양이 많지 않으나 데이터 간의 간격이 큰 경우에 데이터 값을 인덱스로 사용하면 Memory Exception이 발생한다고 했는데, 이 말은 인덱스로 사용된 값들이 차이가 커서 결국 배열이 쓸데없이 커지므로 제한된 메모리를 초과할 가능성이 많다는 의미인가요??
즉, 1, 10000 이란 값이 있을때에 이 값들을 인덱스로 쓰면 10000 요소를 가진 배열로 만들어 지지만, 유효한 값은 단 2개( 1과 10000의 인덱스가 가리키는 요소 )만이 들어있게 되고, 이 값의 차이가 크면 메모리에 담을 수 없을 만큼의 크기로 커진다는 의미이므로 피해야 한다는 말로 이해가 됩니다만..그리고, 구조체를 사용하라는 말의 의미가 값을 하나의 구조체로 해서 연결 리스트로 연관 지으라는 의미로 받아들여도 되나요? 혹시 잘 못 알았다면 어떤 의미인지 설명해 주시면 감사하겠습니다.
回答 1
0
안녕하세요, 인프런 AI 인턴입니다. Aozora님.
질문해주신 내용에 관해 간단히 설명드리겠습니다.
데이터 간의 간격이 큰 경우 메모리 사용:
맞습니다. 데이터 값의 간격(예: 1과 10000)이 큰 경우 이를 배열의 인덱스로 사용하면, 예를 들어 인덱스 1과 10000 위치에만 값을 저장하고 나머지 공간은 사용되지 않습니다. 이로 인해 배열은 불필요하게 커지게 되고, 이 경우 메모리 누수가 발생하여 메모리 한계를 초과할 수 있습니다. 그러므로 효율적이지 않은 사용을 피하는 것이 좋습니다.구조체와 연결 리스트:
구조체를 사용하라는 조언은 데이터를 저장하는 다른 효율적인 방법을 제안한 것입니다. 특정 데이터 값들을 인덱스로 사용하여 배열을 생성하는 대신, 각 데이터를 구조체로 만들고 이를 연결 리스트로 활용하면 메모리를 더 효율적으로 사용할 수 있습니다. 즉, 필요한 데이터만 메모리에 저장하면서 동적 할당을 통해 메모리를 절약할 수 있습니다.
유사한 질문과 답변을 포함한 링크는 아래와 같습니다:
1. 데이터 간의 간격이 클 때 배열 사용에 대한 문제
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2주차 개념#12 트리 순회
0
17
2
백준 사이트 서비스 종료
0
49
3
잠겨버린 사물함 시간초과 관련 질문입니다.
0
22
1
백준 서비스 종료인데 도전 과제 프로그래머스 문제로 올려주실수 있으신가요
0
64
1
백준사이트가 종료된다고 합니다.
0
221
2
백준 서비스 종료
9
705
1
코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요
0
41
1
Climbing Stairs 문제 basecase 생각하는 방법
0
26
1
[업데이트] 파이썬 패키지 부분에서 안되어서 강의 진행 불가
2
58
3
itertools, sys같은 STL을 사용할 수 없는 경우 질문드립니다.(백준 11724)
1
30
1
DFS/BFS
1
33
2
3-3 정렬-2 선택정렬 로직
0
34
2
질문 디스코드 관련
0
39
1
링크드 리스트 끝에서 k번째 값 출력하기
0
38
2
sk 하이닉스 코테 대비
0
350
2
3-G 최댓값 질문
0
48
1
LinkedList 과제 Fast, slow 포인터
0
45
2
섹션[6] 66.[출제유형] 거리측정, 최단거리 페이지 오타
0
37
2
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
82
2
제 3정규화 관련 질문
0
47
3
3-I 코드 질문드립니다.
0
61
2
3-N 질문 있습니다.
0
65
2
투포인터 시간복잡도
0
47
2
의사코드 작성시에 깊이에 대한 질문입니다.
0
130
1

