혜개바라
close
프로필 배경
프로필 로고

혜개바라

  • 분류 전체보기 (170)
    • 코테 준비 (46)
      • 알고리즘 (8)
      • [JS] 프로그래머스 (37)
      • [MYSQL] 프로그래머스 (1)
    • 언어 정리 (52)
      • JavaScript (52)
      • TypeScript (0)
    • 개발 공부 (26)
      • HTML (2)
      • CSS (2)
      • React-Next.js (6)
      • Vue (0)
      • Tanstack Query (1)
      • Webpack (4)
      • Github (2)
      • MYSQL (2)
      • 기타 (개발 공부) (7)
    • 프로젝트 (22)
      • Vanilla JS 문서편집기 (10)
      • 올해도 아좌좌 (5)
      • 개발괴발 (5)
      • 기타 (프로젝트) (2)
    • 회고 (18)
    • 블로그 관리 (0)
    • 기타 (4)
  • 홈
  • 코테 준비
  • 언어 정리
  • 개발 공부
  • 프로젝트
  • 회고
  • 태그
  • 방명록
  • github@suehdn
자료 구조 진짜 진짜 진짜 정리

자료 구조 진짜 진짜 진짜 정리

지난주와 지지난주 자료 구조 공부를 했었고 복습겸 정리해보려 한다.사실 할게 많아 계속 미뤘는데 이런 상태가 계속 반복되고 있어 드디어 정리 해보려 글을 쓴다.굉장히 긴 글이 될것 같은데 함께 힘내보도록하자.그래서 먼저 자료구조는 왜 공부해야하는지 알고 시작을 해야하는데..사실 처음에 배웠을 때 알았는데 지금은 까먹었기 때문에 다시 알아봤다.💡 메모리를 효율적으로 사용해 데이터를 빠르고 안전하게 처리하자!이게 자료구조의 궁극적인 목표다.즉, 우리는 특정 상황(문제)에서 가장 짧은 시간에 효율적인 메모리 사용을 할 수 있는 자료구조를 잘 선택할 수 있도록 잘 배워놔야한다.그러려면 우리는 가장 먼저 시간복잡도를 알아야한다.시간복잡도란 무엇이고 왜 알아야할까?시간 복잡도는 우리가 위에서 말한 짧은 시간을 판..

  • format_list_bulleted 코테 준비/알고리즘
  • · 2024. 8. 7.
  • textsms

프로그래머스 Lv.2 : 소수 찾기 - 완전 탐색

이 문제는 두가지 방법으로 풀 수 있습니다.첫 번째는 만들 수 있는 가장 큰 수를 찾아 그 수 이하의 모든 소수를 구해 numbers의 숫자가 포함되어 있는지 확인하는 방법.두 번째는 만들 수 있는 모든 수를 구해(DFS) 소수인지 아닌지 판별하는 방법.첫 번째 방법은function solution(numbers) { let answer = 0; let arr = []; numbers = numbers.split("").sort((a,b)=> b-a).join(""); for(let i = 0; i x).map(x =>{ let mini_numbers = numbers.toString().split(""); let mini_x = x.toString().sp..

  • format_list_bulleted 코테 준비/[JS] 프로그래머스
  • · 2024. 8. 5.
  • textsms

프로그래머스 Lv.2 : 가장 큰 수 - 정렬

제가 문제를 풀다가 난관에 봉착했었습니다.//1번function solution(numbers) { var answer = ''; let arr = []; for(let i = 0; i b[1].substr(0,4)-a[1].substr(0,4)) arr.map(x => answer+=x[0]) return answer[0] === "0"?"0":answer;}//2번function solution(numbers) { var answer = ''; let arr = []; for(let i = 0; i b[1].substr(0,4)-a[1].substr(0,4)) arr.map(x => answer+=x[0]) return answer[0] ..

  • format_list_bulleted 코테 준비/[JS] 프로그래머스
  • · 2024. 8. 5.
  • textsms
프로그래머스 Lv.2 : 피로도 - DFS

프로그래머스 Lv.2 : 피로도 - DFS

던전 array 순서대로 처음부터 탐색 -> 점점 깊게 들어가는 방식function solution(k, dungeons) { let max = 0; let visit = new Array(dungeons.length).fill(false); function dfs(cur,tired,depth){ visit[cur] = true; tired-=dungeons[cur][1]; for(let i = 0; i =dungeons[i][0])dfs(i,tired,depth+1); } max = Math.max(max,depth); visit[cur] = false; } for(let i = 0 ; i

  • format_list_bulleted 코테 준비/[JS] 프로그래머스
  • · 2024. 8. 5.
  • textsms

프로그래머스 Lv.2 : 타겟 넘버 - DFS

재귀함수를 이용해 깊이 전부 탐색function solution(numbers, target) { var answer = 0; function dfs(n,sum){ if(n === numbers.length){ if(sum === target) answer++; }else{ dfs(n+1,sum+numbers[n]); dfs(n+1,sum-numbers[n]); } } dfs(0,0); return answer;}

  • format_list_bulleted 코테 준비/[JS] 프로그래머스
  • · 2024. 8. 5.
  • textsms

에라토스테네스의 체 - 소수 빠르게 알아내기

1~N 사이의 숫자중 소수를 구하는 문제가 있습니다.이때let num = [];let N = 100;for(let i =1; i아래의 방법을 통해 O(N)으로 구할 수 있습니다.하지만 N이 커지면 커질수록 시간이 오래걸립니다.그렇기 때문에 에라토스테네스의 체 방법으로 소수를 구하면 빠릅니다.이 방법의 핵심은 n의 배수는 무조건 소수가 될 수 없다!let N = 100;let arr = [];for(let i = 0;i x); //=> 소수만 남아있다.

  • format_list_bulleted 코테 준비/알고리즘
  • · 2024. 8. 5.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 8
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (170)
    • 코테 준비 (46)
      • 알고리즘 (8)
      • [JS] 프로그래머스 (37)
      • [MYSQL] 프로그래머스 (1)
    • 언어 정리 (52)
      • JavaScript (52)
      • TypeScript (0)
    • 개발 공부 (26)
      • HTML (2)
      • CSS (2)
      • React-Next.js (6)
      • Vue (0)
      • Tanstack Query (1)
      • Webpack (4)
      • Github (2)
      • MYSQL (2)
      • 기타 (개발 공부) (7)
    • 프로젝트 (22)
      • Vanilla JS 문서편집기 (10)
      • 올해도 아좌좌 (5)
      • 개발괴발 (5)
      • 기타 (프로젝트) (2)
    • 회고 (18)
    • 블로그 관리 (0)
    • 기타 (4)
최근 글
인기 글
최근 댓글
태그
  • #프로그래머스
  • #2023
  • #js
  • #JavaScript
  • #0단계
  • #js메서드
  • #VanillaJS
  • #회고
  • #코딩테스트준비
  • #프로젝트
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바