'분류 전체보기' 카테고리의 글 목록 (68 Page)
본문 바로가기
728x90

분류 전체보기748

알고리즘 기초 주차 - 1번 문제 풀이 방법 문제설명 행렬이 두개 있습니다. 두 행렬의 절댓값을 차례대로 담은 정수 배열 absolutes와 행렬의 부호를 차례대로 담은 boolean 배열 sings가 매개변수로 주어집니다. 두 행렬의 부호는 같습니다. 실제 행렬 덧셈의 결과를 반환하는 함수, solution을 완성 해주세요. 제한사항 - 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 지정 입력값 문제 풀이 function solution(arr1, arr2, signs){ let line = [] // 행을 담을 배열 for(let i = 0; i < arr1.length; i++){ // 행 반복문 let heat = [] // 열을 담을 배열 for(let j = 0; j < arr1[i].length; j+.. 2021. 11. 13.
해쉬 - 해쉬 테이블, 해쉬 함수, 체이닝, 개방 주소법 👀 해쉬란? 👉 해쉬 알고리즘을 통해서 문자열을 고정된 길이의 데이터로 만드는 방식 (미니 프로젝트에서 비밀번호 암호화 할 때 사용한 게 해쉬였다!) 해쉬를 사용하면 블록체인이라는 기술에서도 쓰이기도 하고, 효율적인 자료구조인 딕셔너리를 만들 때도 사용 됩니다! 👀 딕셔너리란? 👉 사전형 데이터를 의미하며, key와 value를 1대1로 대응시킨 형태입니다. (참고 사이트 http://tcpschool.com/python/types_dictionary) 👀 해쉬 테이블이란? 컴퓨팅에서 키를 값에 매핑 할 수 있는 구조인, 연관 배열 추가에 사용되는 자료구조이다. 해쉬 테이블은 해쉬 함수를 사용하여 색인(index)을 버킷(bucket)이나 슬롯(slot)의 배열에 계산합니다. 데이터를 다루는 기법 중에 .. 2021. 11. 13.
스택, 큐 👀 스택과 큐란? : 스택과 큐는 들어가고 나오는 곳이 정해져 있는 자료구조입니다! 👀 스택이란? 👉 한쪽 끝으로만 자료를 넣고 뺄 수 있는 자료 구조를 말합니다. (선입후출?) 실생활적인 예시를 들어 보자면 스택이라는 자료 구조는 "빨래통"을 떠올리시면 됩니다. 데이터를 한 곳에서만 넣었다 뺄 수 있습니다. 가장 밑에 있는 빨래를 뺄 수 있나요? 아니요!! 가장 위에 있는 빨래를 빼거나 넣을 수 있습니다. 그러면 가장 처음에 넣은 빨래는? 가장 늦게 나오겠죠!! 가장 마지막에 넣은 빨래는? 가장 빨리 나옵니다!! 이런 자료 구조를 Last In First Out이라고 해서 LIFO라고 부릅니다. 👀 그렇다면 이런 자료구조는 왜 필요할까요? 👉 바로, 넣은 순서를 쌓아두고 있기 때문입니다. 그 순서가 필.. 2021. 11. 13.
정렬 - 버블정렬, 선택정렬, 삽입정렬 👀 정렬이란? 👉 데이터를 순서대로 나열하는 방법을 의미합니다. 정렬은 알고리즘의 굉장히 중요한 주제입니다. 이진탐색을 가능하게도 하고, 데이터를 조금 더 효율적으로 탐색 할 수 있게 만들어 주기 때문입니다! 다음과 같이 책이 꽂혀 있을 때, 가나다 순으로 정렬 해달라는 것을 의미합니다. 숫자로만 이루어진 배열을 오름차순으로 정렬 해보면 다음과 같습니다. [4, 6, 2, 9, 1] # 정렬되지 않은 배열 [1, 2, 4, 6, 9] # 오름차순으로 정렬된 배열! [9, 6, 4, 2, 1] # 내림차순으로 정렬된 배열! 말로 설명 해보라고 하면 생각보다 설명하기 힘들다는 걸 느낄 수 있습니다! 아래와 같이 컴퓨터에게 정렬을 시키기 위해서는 명확한 과정을 설명 해줘야 합니다. 👀 버블정렬이란? 👉 가장 .. 2021. 11. 13.
[TIL] 12일차 12일차 시간표 오전 9:00 ~ 체크인 오전 9:00 ~ 오전 10:00 알고리즘 2주차 강의 오전 10:00 ~ 오전 11:00 알고리즘 3문제 선정해서 발표하기 오후 11:00 ~ 오후 2:00 알고리즘 2주차 강의 오후 2:00 ~ 오후 4:00 마음 다잡기 + 점심시간 오후 4:00 ~ 오후 5:00 알고리즘 기초 주차 Test 오후 5:00 ~ 오후 8:00 알고리즘 3주차 강의 오후 8:00 ~ 오후 8:20 팀 마무리 오후 8:20 ~ 하루 정리 + 저녁시간 오늘 하루 느낀 점 1주차 강의 들으면서 시간 복잡도, 공간 복잡고, 점근 표기법 등을 배우면서 이해도 잘 되는 것 같아서 잘 진행하고 있었던 것 같은 데 2주차 강의를 들으면서 배열과 링크드 리스트 문제를 풀기 시작하면서 멘탈이 터지.. 2021. 11. 13.
재귀함수 - 팩토리얼, 회문 검사 👀 재귀란? : 어떠한 것을 정의 할 때 자기 자신을 참조하는 것을 말한다. 👀 재귀함수란? : 자기 자신을 호출하는 함수이다. 👉 예시를 들어서 설명을 하자면 더보기 어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었습니다. 🥺 "재귀함수가 뭔가요?" 🥸 "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. 그의 답은 대부분 옳았다고 하네. 그런데 어느날, 그 선인에게 한 선비가 찾아와서 물었어. 🥺 "재귀함수가 뭔가요?" " 🥸 잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을... 그렇다면 재귀 함수를 사용하는 이유는 무엇일까요?? 바로, 재귀 함수를 이용해서 간결하고 효.. 2021. 11. 13.
이진 탐색, 순차 탐색 👀 이진 탐색이란? : 데이터가 정렬되어 있는 배열에서 특정한 값을 찾아내는 알고리즘입니다. 배열의 중앙에 있는 임의의 값을 선택하여 찾고자 하는 값 X와 비교합니다. X가 중간 값보다 작으면 중간 값을 기준으로 좌측의 데이터들을 대상으로 X가 중간 값보다 크면 중간 값을 기준으로 우측의 데이터들을 대상으로 다시 탐색합니다. 동일한 방법으로 다시 중간의 값을 임의로 선택하고 비교하여 해당 값을 찾을 때까지 이 과정을 반복합니다. 👀 순차 탐색이란? : 데이터가 담겨이는 배열을 앞에서 부터 하나씩 비교해서 원하는 데이터를 찾는 방법 👉 이진 탐색과 순차 탐색 과정 비교 👉 업다운 게임을 예로 들어 이진 탐색과 순차 탐색을 비교 해보겠습니다. 👉 순차 탐색을 사용한 예제 풀이 finding_target = .. 2021. 11. 13.
클래스, 객체, 생성자, 메소드 👀 클래스란? : 클래스는 분류, 집합과 같은 속성과 기능을 가진 객체를 총칭하는 개념이다. 👀 객체란? : 세상에 존재하는 유일무이한 사물입니다. 예를 들어 클래스가 사람이라면, 객체는 유재석이 될 수도 있고, 박명수가 될 수도 있습니다. 클래스가 동물이라면, 객체는 강아지가 될 수도 있고, 고양이가 될 수도 있습니다. 이처럼 클래스를 이용하면 같은 속성과 기능을 가진 객체들을 묶어서 정의 할 수 있습니다. class Person: pass # 여기서 pass 는 안에 아무런 내용이 없다는 의미입니다! person_1 = Person() print(person_1) # # 클래스를 호출해서 person_1이라는 객체를 생성한다. person_2 = Person() print(person_2) # # 클.. 2021. 11. 13.
Array(배열), Linked List(리스트), 둘의 차이점 자료구조와 알고리즘은 왜 배워야 하는 것일까? : 특정 자료구조는 삽입/삭제가 빠르고, 특정 자료구조는 조회가 빠릅니다. 이처럼 어떤 경우에는 이 자료구조가 좋고, 어떤 경우에는 저 자료구조가 좋은 것 처럼 경우에 따라 다양한 자료구조와 알고리즘을 사용 해야 합니다. 비유를 하자면 못을 박을 때 망치가 필요하고, 나사를 뺄 때는 뺀치가 필요한 것처럼 다양한 공구들을 하나하나 배워 나가는 것이라고 생각하면 됩니다. 1. 어레이(Array), 배열 상황으로 어레이를 설명 해보자면! 상황에서 언급된 "캡슐 호텔'이란 바로 Array, 배열을 의미합니다. 👀 여러분이 캡슐 호텔을 만들었습니다! 총 8명이 잘 수 있는 호텔입니다. 와 그런데 이게 무슨일일까요? 오늘 밤에 소녀시대 8명 전원이 와서 숙박할 계획이라.. 2021. 11. 13.
728x90