전체 글

전체 글

    [Algorithm/Python] 계수 정렬(Count Sort)이란?? || Sort

    [Algorithm/Python] 계수 정렬(Count Sort)이란?? || Sort

    📌 계수 정렬(Count Sort)계수 정렬이란, 리스트의 원소의 개수를 세어, 개수만큼 출력하여 정렬하는 방식이다. 예를 들어 arr = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2] 를 정렬해본다고 하자면, 각 원소별로 몇 개가 존재하는지 수를 센 후, 인덱스 0을 시작으로 각 개수만큼 수를 출력해내어 정렬하는 방식이다.위의 그림처럼, 리스트의 데이터에 해당하는 인덱스의 값을 1씩 추가하여 해당 원소가 몇 개인지 수를 세어준다. 따라서, 인덱스 0부터 차례대로 세어진 수만큼 반복 출력해주면 정렬된 리스트를 확인해볼 수 있다. ✅[ CODE ]arr = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2] def count(arr): ma..

    [Algorithm/Python] 퀵 정렬(Quick Sort)이란?  || Sort

    [Algorithm/Python] 퀵 정렬(Quick Sort)이란? || Sort

    📌 퀵 정렬(Quick Sort)퀵 정렬(Quick Sort)이란 기준 데이터인 피벗(pivot)을 정하고, 피벗보다 큰 데이터와 작은 데이터의 위치를 변경하는 정렬 방식이다. 피벗이 설정되어 리스트가 분할되는 방법에 따라 여러 퀵 정렬이 구분된다고 하는데, 호어 분할 방식에 따른 코드 구현을 진행해보았다. 호어 분할 방식에는 리스트에서 첫 번째 데이터를 피벗으로 설정한다는 규칙이 있다. 1️⃣ 리스트의 첫 번째 데이터를 피벗으로 설정한 후, 리스트의 왼쪽에서 오른쪽으로 이동하며 피벗보다 큰 데이터를 찾는다. 또한, 리스트의 오른쪽에서 왼쪽으로 이동하며 피벗보다 작은 데이터를 찾는다. 2️⃣ 큰 데이터와 작은 데이터의 위치를 서로 바꾼다. 3️⃣ 이와 같은 과정을 반복하되, 큰 데이터의 위치와 작은 데이..

    [Algorithm/Python] 삽입 정렬(Insertion Sort)이란? || Sort

    [Algorithm/Python] 삽입 정렬(Insertion Sort)이란? || Sort

    📌 삽입 정렬(Insertion Sort)삽입 정렬은 순차적으로 데이터를 확인하며, 적절한 위치에 삽입해주는 정렬 방식이다. 그림을 보면, 인덱스 1번째 수부터 시작하여 차례대로 각자 적절한 위치에 삽입해주는 것을 확인해볼 수 있다. 적절한 위치인 곳을 찾는 방법은, 빨간 박스로된 수를 기준으로 왼쪽으로 한 칸씩 이동하며 값을 비교한다. 빨간 박스의 수보다 작은 수를 만나게 되는 순간, 바로 그 위치에 삽입해주면 된다. ✅ [ CODE ]arr = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(1, len(arr)): idx = i for j in range(i, -1, -1): if arr[i] < arr[j]: idx = j val = arr[i] arr[idx +..

    [Algorithm/Python] 선택 정렬(Selection Sort)이란?  || Sort

    [Algorithm/Python] 선택 정렬(Selection Sort)이란? || Sort

    📌 선택 정렬(Selection Sort)그림을 보면, 파란색으로 칠해진 수들 중 가장 작은 수를 골라, 빨간색으로 칠해진 수와 바뀌는 것을 확인해볼 수 있다. 이처럼, 선택 정렬은 가장 작은 수를 차례대로 선택하여 정렬하는 방식이다. ✅ CODEarr = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(arr)): for j in range(i + 1, len(arr)): if arr[i] > arr[j]: temp = arr[i] arr[i] = arr[j] arr[j] = temp print(arr)매번, 작은 수가 나올 때마다 위치를 바꿔주어 주도록 구현을 해보았는데, 작은 수가 나올 때마다 바꿔주는 것이 조금 비효율 적인 것 같다는 생각이 들었다. ✅ C..

    [Programmers/Python] H-Index || 정렬(Sort)

    [Programmers/Python] H-Index || 정렬(Sort)

    프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr프로그래머스 파이썬 H-Index 풀이 42747더보기문제 설명) H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이..

    [Programmers/Python] 타겟 넘버   || DFS/BFS

    [Programmers/Python] 타겟 넘버 || DFS/BFS

    프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr프로그래머스 타겟 넘버 파이썬 16173더보기문제 설명) n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항) 주어지는 숫자의 개수는..

    async-await & React Router || React Hook useEffect has a missing dependency 경고 해결

    async-await & React Router || React Hook useEffect has a missing dependency 경고 해결

    📌 async - await fetch로 api에 접속하는 방식 중에 then을 이용하여 response를 받아오곤 했는데, async-await를 이용하는 것이 더 보편적이라고 한다. then useEffect(() => { fetch( `https://yts.mx/api/v2/list_movies.json?minimum_rating=9&sort_by=year` ) .then((response) => response.json()) .then((json) => { setMovies(json.data.movies); setLoading(false); }); }, []); async - await const getMovies = async () => { const json = await ( await fet..

    'authorizeRequests()' is deprecated 해결 || Spring Security Configuration

    'authorizeRequests()' is deprecated 해결 || Spring Security Configuration

    기존에 사용해오던 방식대로 SecurityConfig를 만들어서 403 Error를 해결하고자 하였는데, authorizeRequests()가 deprecated 되었다고 한다. WebSecurityConfigurerAdapter도 deprecate되어 빈을 등록하는 방식으로 바꿔주었었는데, 이것도 바꿔보자!아래와 같이 변경하여 사용할 수 있다.http .authorizeRequests() .requestMatchers("/admin/**").hasRole("ADMIN") .requestMatchers("/**").hasRole("USER") .and().formLogin(); return http.build();antMatchers를 requestMatchers로 변경. authorizeRequest는..

    React 실행, style 지정, State 실행 설정(useEffect, Cleanup Func)

    React 실행, style 지정, State 실행 설정(useEffect, Cleanup Func)

    📌ReactApp 실행 Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.orgnode -v npx 제대로 설치되었는지 확인npx create-react-app [폴더명] code [폴더명] 새로 프로젝트 생성 및 실행npm start npm 오류 발생→ terminal을 cmd로 바꿔준 후, 윈도우 환경 변수 설정 후 재부팅해주어 해결npm i prop-types prop-types 설치 📌Style 지정module.css 형태의 파일을 생성하여 원하는 style로 css를 만들어준 후에 import해준다. (Ex. App.module.css)import Button from "./Button"; i..

    Props & Prop Type란 무엇인가

    Props & Prop Type란 무엇인가

    📌 PropsProps는 함수에 전달되는 인자를 의미한다. function SaveBtn() { return ( SAVE ); } function ConfirmBtn() { return ( CONFIRM ); }버튼이 여러 개일 경우, 중복되는 속성이 생기고 코드 중복으로 인해 불편함이 커진다. props를 이용하여 하나의 버튼만을 생성한 후, text만 바꾸어 사용하는 방식이 더 편리하다.function Btn(props) { console.log(props); return ( {props.btn} ); } function App() { return ( ); }props로 object 형태로 다양한 값을 받아올 수 있고, props.btn과 같은 형태로 활용이 가능하다. object 형태로 받아오는 것..