ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024년 4월 21일 TIL
    공부 기록 2024. 4. 21. 22:00

    오늘 공부한 것 : 배열과 컬렉션. 많이 없다.

     

    다차원 배열을 잘 써야 좋을 텐데, 잘 쓰는 방법을 알려면 사용을 해봐야 알 것 같은데, 2차원 3차원 배열.

     

    2차원 : [ , ] 3차원 : [ , , ] 

    2차원 : [2,4] -> 2개의 배열 자료형을 생성 배열마다 4개 저장소? 생성

    3차원 : [ 3, 5, 3 ] 3개의 2차원 배열을 생성, 5개의 배열 자료형 생성, 3개의 그거 생성. 저장소가 엄청 많아진다.

     

    이걸 어떨 때 사용 할까.

     

    스파르타강의 에서는 미니맵을 보여주며 활용 했다. 

    그 것으로 보면 뭔가 연속 해서 입력 할 때 유용 할 것 같은데 .. , 111112231321 흠. 다음 줄로 넘어가게 하는 효과를 2차원 배열과 2차원반복문을 활용 해서 구현 했다. 그렇게 해서 그림 그리는 듯한 연출을 보여줬는데 설마 사전 캠프 때 매니저님이 잠깐 보여주신 동영상이 이러한 방법으로 만든 건가?... 그럼 진짜 변태 들인 것 같은데.

     

    그런 거 말고도 사용 할 수 있는 방법이 있지 않을까 고민 해보자.

     

    배열은 잘 쓰면 되게 좋은 기능일 것 같다. 

     

    그리고 컬렉션이라는 자료를 저장 하는 기능도 있다.

    배열과 비슷 하지만 좀 다르다. 장단점이 있으므로 잘 구분 해서 적절 하게 사용 하자. 

     

    컬렉션에는 리스트, 딕셔너리, 스텍, 큐, 해쉬셋 등이 있다. 

    사용 하려면 제너릭 네임스페이스를 추가 해야 한다.

    System.Collections.Generic

     

    리스트 : 리스트를 사용 할 때는 담을 자료형을 정해준다. 

    List<int> g = new List<>();

    Add 메서드로 리스트에 입력 해준다. 

    g.Add(20);

    g.Add(21);

    g.Add(30);

     

    포리치를 사용 하면 20 , 21 , 30 순으로 반복 된다.

    Remove(순서) 를 사용 해서 리스트 목록을 지울 수도 있다. 

     

    딕셔너리 : 키와 값으로 구성 된 데이터를 저장 한다. 

    Dictionary<string, int> a = new Dictionary<string, int> ();

    이 것도 Add와 Remove 메서드로 데이터를 저장 및 정리 할 수 있다. 

     

    stack : 후입선출 하는 컬레션의 기능이다. 

    stack<int> a = new stack<int>(); 변수를 선언 해주고 push 로 값을 넣어준다. 

    a.Push(1);

    a.Push(2);

    a.Push(7);

     

    스택에서 값을 꺼낼 때 나중에 들어간 순서가 1번이 된다. 

    Pop 메서드를 사용 해서 꺼내온다. 

    a.Pop();

    gpt가 제거 하면서 꺼내온다는데 꺼내오면 stack에서는 사라지는 건가?

     

    Queue(자료형) a = nw ----- = 선입선출형 컬렉션이다. 

    큐는 Enqueue로 저장 하고 Dequeue로 꺼내온다. 

     

    HashSet : 중복 되지 않는 요소들로 이루어진 집합 이라는데 순서가 정해져있지 않단다. 

    Add로 값을 넣는다. 

    그냥 순서가 중요하지 않을 때 막 쓰는 기능 인 것 같다. 검색도 빠르다고 한다. 

     

    아무튼 배열과 같은 여러 데이터를 저장 할 때 유용한 컬렉션 이라는 것도 알아봤는데 알맞은 상황에 적절히 사용 해야 효율적이고 속도가 빠를 것이다. 항상 잘 알아보고 고민 하고 어떤 기능을 사용 할지에 대해 선택 하자. 

     

    리스트 같은 경우 메모리 사용량이 증가하고, 배열보다 느리다고 한다. 하지만 배열과 다르게 여러가지 기능들이 있으므로 더 유연 하게 사용 할 수 있을 것이다. 쉽게 말해 리스트가 배열보다 쉽고 편하다고 한다. 대충 봐도 배열은 몇 개 만들 것인지 미리 설정을 하던가 해야 하는데 리스트는 계속 추가 할 수가 있는 것 같다.

     

    그런데 내가 생각 하기로는 배열만 사용 해도 충분 할 것 같은데.., 리스트를 사용 해야만 할 때는 언제일까? 있을까?

     

    지금 모르더라도 어떠한 기능들이 있는지 머리 속에 강하게 박아둬야 나중에 사용 할 때 즈음 확 떠오르기 마련이다. 머리속에 잘 적어두자. 이러 이러한 것들이 있다고,

    ==================

     

    break 사용 한다고 해서 함수 전체가 끝나는 것이 아닌 break 들어 있는 함수만 끝난다. 

    ===================

     

    김치찌개 끓이는 법

    1. 고기 넣고 새우젓 넣고 삶는다. 

    2. 15분 뒤 김치 넣고 간장 넣고 마늘 넣는다. 

    3. 대충 맛과 색이 나왔을 때 고추 파 넣고 5분 뒤에 먹는다.

     

    일단 김치찌개 맛은 아닌 것 같다.

Designed by Tistory.