본문 바로가기

TIL72

[Java] 정렬 - 퀵, 병합 1. 퀵 정렬 Quick sort pivot 값을 기준으로 pivot의 앞과 뒤에 더 작거나 큰 값을 모으는 방식으로 재귀를 이용하여 완성 - 시간복잡도: O(n²) / O(nlogn) // 두 값의 자리를 바꾸는 함수 public static void swap(int [] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static int partition(int[] arr, int start, int end) { int pivot = start; int left = start + 1; int right = end; while (left = end) return; // divide int mid = (sta.. 2023. 3. 14.
[Java] 정렬 - 선택, 버블, 삽입 1. 선택 정렬 Selection sort 맨 앞 인덱스부터 전체를 탐색하여, 가장 작은 값을 찾아 앞으로 옮겨 오는 방법 (현재 값과 변경) 가장 작은 값부터 고정 됨 (앞에서부터) - 시간복잡도: O(n²) (전체 탐색해야 함) int arr1 [] = { 5, 7, 1, 2, 4, 3, 8, 9, 6, 10 }; for (int i = 0; i < arr1.length - 1; i++) { int min_idx = i; // 현재 위치 + 1 부터 끝까지 가장 작은 값의 인덱스 저장 for (int j = i + 1; j < arr1.length; j++) { if (arr1[j] < arr1[min_idx]) { min_idx = j; } } // 가장 작은 값과 현재 값 바꾸기 int temp .. 2023. 3. 4.
[JavaScript] 아스키코드 변환 🆎 문자열 → 숫자 변환 // 문자열.charCodeAt(인덱스) // 인덱스 번호 비워놓는 경우 첫 번째 자리 자동 출력 "AB".charCodeAt()// 65 "ABC".charCodeAt(1)// 66 🔢 숫자 → 문자열 변환 String.fromCharCode(65)// A ✏️ 기본 아스키 코드 (알파벳 대문자) A ~ Z : 65 ~ 90 (알파벳 소문자) a ~ z : 97 ~ 122 2023. 2. 10.
[React-TypeScript] .env 변수 타입 설정하기 .env 파일로 값을 불러와 함수에 사용하려고 했더니 타입 오류가 났다 타입이 string | undefined로 되어 있기 때문이라고 하는데, 해결하려면 전역 타입을 지정해주면 된다. CRA로 앱을 생성했다면 react-app-env.d.ts 파일이 있다. (없다면 만들면 될듯) 여기에 내용을 추가해주면 된다. 맨 윗줄은 원래 써 있는 내용이고, 아래에 각 변수의 타입을 지정해주면 된다. 2022. 11. 9.
[React] 헤더에 뒤로가기 버튼 만들기 [React] 뒤로가기 버튼 만들기 (useNavigate) 리액트로 프로젝트를 진행하던 중 홈버튼은 만들어두었지만 뒤로가기 버튼이 없는 게 불편해서 만들어보기로 했다. button tag가 아닌 문구와 사진을 이용해서 만들고 싶었기 때문에 div 태그를 사용하던 중 발생하던 에러 해결 로그 react-router-dom 라이브러리를 사용해서 진행한다. version 5까지는 useHistory를 사용했지만, react-router-dom v6부터는 useNavigate를 사용하여 진행한다! 1. import useNavigate 먼저, react-router-dom의 useNavigate를 import 해준다. 2. useNavigate 함수 호출 function component 안에 useNavig.. 2022. 9. 20.
[React-JavaScript] 게이지바 만들기 전체 값에서 현재 값의 비율을 나타내는 그래프를 만들고 싶었는데, 뭔가 모듈을 사용해야 하나 싶었지만 이런 간단한 형태는 div의 CSS값 조정으로 간단하게 할 수 있다는 걸 알았다. 전체 코드 import React, { useEffect, useState } from "react"; import styled from "styled-components";// 리액트의 styled-components 모듈 사용 // 테두리 코드 const StyledBase = styled.div` height: 26px;// 게이지 부분의 높이에 border 높이의 2배를 더해준다. border: 3px solid; margin-right: 15%;// 페이지에서 원하는 부분만큼 자유롭게 설정 margin-left: .. 2022. 8. 14.
728x90