지키

이사중 => https://velog.io/@jikky/posts

전체 글 159

[이코테 python] 정렬 - 선택,삽입,퀵,계수 정렬과 예제

🔊 본 포스팅의 내용은 나동빈님의 [이것이 취업을 위한 코딩테스트다] 유튜브 강의를 수강 후 정리한 내용을 기록한 글로, 모든 사진과 자료의 출처는 해당 영상에 있습니다. 훌륭한 강의로 지식을 전달해 주신 나동빈님께 감사의 말씀을 전합니다. 목차 정렬 알고리즘 선택 정렬 삽입 정렬 퀵 정렬 계수 정렬 정렬 알고리즘 비교하기 정렬 알고리즘 예제 선택 정렬 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복 선택 정렬 동작 예시 선택 정렬은 반복시마다 탐색 범위가 줄어듭니다. 선택 정렬 코드 array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i # 가장 작은 원소의 인덱스 ..

git 유용한 명령어 interactive rebase

interactive rebase 인터렉티브 리베이스가 의미하는 뜻은 rebase 명령어를 사용할 때 -i 옵션을 같이 사용한다는 것입니다. 이 옵션을 추가하면, git은 리베이스의 목적지가 되는 곳 아래에 복사될 커밋들을 보여주는 UI를 띄울것 입니다. 각 커밋을 구분할 수 있는 각각의 해시들과 메시지도 보여줍니다. 이를 통해 3가지를 할 수 있습니다: 적용할 커밋들의 순서를 바꿀수 있습니다 원하지 않는 커밋들을 뺄 수 있습니다. 이것은 pick을 이용해 지정할 수 있습니다 마지막으로, 커밋을 스쿼시(squash)할 수 있습니다. 보시는 것처럼 우리는 여러개의 버전을 만들었습니다. 버전을 만들고 보니 과거의 만든 버전이 마음에 안드는 경우가 생깁니다. 예를 들어, 커밋 1과 2를 바꾸고 싶다! 1과 2..

git 2024.01.11

[백준] 3009 : 네 번째 점 - python

https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 이 문제는 직사각형 모서리의 좌표 3개가 주어졌을 때, 남은 1개의 좌표를 찾는 문제이다. x,y좌표 각각 중복으로 입력된 좌표는 삭제하면, 남는 좌표가 정답이다. 예제 입력 1의 경우, x좌표는 5 5 7 이 입력되었으니 7만 남고, y좌표는 5 7 5 가 입력되었으니 7만 남는 것이다. 풀이 1. xor 이용 x = y = 0 # 초기값으로 x와 y를 0으로 설정 for _ in range(3): a, b = map(int, input().split()) # 사용자로부터 두..

[react] useRef, forwardRef 사용방법

JS를 사용 할 때, 특정 DOM을 선택해야 하는 상황에서 getElementById, querySelector 같은 DOM Selctor 함수를 사용해서 DOM을 선택합니다. 이럴때 리액트에서는 ref를 사용합니다. 함수형 컴포넌트에서 ref 를 사용 할 때에는 useRef 라는 Hook 함수를 사용합니다. UseRef 1. DOM 접근 useRef는 React 애플리케이션에서 DOM 요소에 직접적으로 접근하기 위한 기능입니다. Refs를 사용하면 React 컴포넌트에서 DOM 요소에 접근하거나 조작할 수 있습니다. 주로 입력 필드의 포커스 설정, 애니메이션 트리거, 외부 라이브러리와의 통합 등의 경우에 활용됩니다. 여기서 Ref는 reference, 즉 참조를 뜻합니다. 간단한 예제로 어떻게 사용하는..

React 2024.01.08

Git : cherry-pick

cherry-pick 명령어 : git cherry-pick 현재 위치(HEAD) 아래에 있는 일련의 커밋들에 대한 복사본을 만들겠다는 것을 간단히 줄인 말입니다. cherry pick이란, 체리 한 바구니에서 제일 좋은 체리만 고르는 것에서 유래한 표현으로 ,일반적으로는 제일 좋은 걸 선별한다는 뜻으로 쓰인다고 합니다! 참고로 commit을 branch에서 다른 branch로 옮기는 건 아니고, 전체 history를 따지면 새로운 commit이 늘어나는 것입니다. 예시 현재 ‘브랜치 Y’를 개발하고 있는 상황에서 ‘브랜치 X’에 적용되어 있는 3개의 커밋을 가져와서 반영하고 싶은 상황입니다. 이럴 때, git cherry-pick 명령을 이용하면 됩니다. $ git cherry-pick 555f8b4 ..

git 2024.01.07

[백준] 2563 : 색종이 - python

문제 (https://www.acmicpc.net/problem/2563) 풀이 요약하자면, 입력한 좌표들로 인해 생성되는 사각형들의 넓이를 구하면 되는 문제이다. 나는 아래와 같이 풀이하였다. 1. 도화지를 1차원 배열로 생성 ( 100*100인 2차원 배열은 길이가 10,000인 1차원 배열로 표현 가능) 2. 입력된 좌표로 생성되는 사각형에 포함되는 부분에 1 할당 3. 배열의 모든 요소 더하기 ( = 면적 ) arr=[0]*10000 for _ in range(int(input())): col,row = map(int,input().split()) for i in range(col,col+10): for j in range(row,row+10): arr[i*100+j]=1 print(sum(arr..

react 양방향 바인딩 (2way data binding)

데이터 바인딩이란 ? 데이터 바인딩 : UI와 해당 UI가 표시하는 데이터를 연결하는 프로세스 입니다. 다르게 말하면 화면에 보여지는 데이터와(View) 와 브라우저 메모리에 있는 데이터(Model)을 묶어서(Binding) 서로 간의 데이터를 동기화 하는 것을 의미합니다. 양방향 바인딩이란 ? 리액트(React)에서 양방향 바인딩은 일반적으로 부모 컴포넌트와 자식 컴포넌트 간에 데이터를 공유하는 방법을 나타냅니다. 이것은 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하면서 동시에 자식 컴포넌트에서 부모 컴포넌트로 데이터를 업데이트할 수 있는 것을 의미합니다. 리액트는 일반적으로 단방향 데이터 바인딩을 합니다. 사용자의 입력에 따라 데이터를 갱신해야 하기 때문에, 단방향 데이터 바인딩으로 구성하면, 데..

React 2024.01.05

React 이미지 저장 public vs assets

public/ 폴더 이미지를 public/ 폴더에 저장하 index.html 또는 index.css 파일 내에서 직접 참조할 수 있습니다. 이미지를 public/ 폴더에 저장하면 해당 이미지가 개발 서버 및 빌드 프로세스에서 공개적으로 제공됩니다. 이 폴더 내의 파일들은 브라우저에서 직접 참조할 수 있으며, 다른 파일에서도 요청할 수 있습니다. index.html과 마찬가지로, 이 파일들은 브라우저 내에서 직접 방문할 수 있으며, 따라서 다른 파일에 의해 요청될 수도 있습니다. 예를 들어, localhost:3000/image.jpg를 불러오면 해당 이미지를 볼 수 있습니다. 이 방법의 장점은 이미지가 빌드 프로세스에 의해 처리되지 않고 직접 공개되기 때문에 일부 정적 파일이나 외부에서 직접 접근해야 하..

React 2024.01.04

코테에서 자주 쓰는 파이썬 문법 - 자료형,리스트 합치기

이 글은 본인의 입장에서 알고 있는 것들은 배제하고 잊고 있던 파이썬 특성을 기억을 되새기기 위한 지극히 주관적인 기록입니다. 파이썬에 대한 이해도가 거의 없는 분이 보시기에는 상당히 불친절한 글이라는 점 알려드립니다ㅜㅜ 자료형 리스트 크기 지정 리스트 초기화 a = [0]*n # [0,0,0,0,0,0,0,0,0,0] 리스트 컴프리헨션 arr = [i for i in range(10)] # [0,1,2,3,4,5,6,7,8,9] arr = [i for i in range(10) if i%2==1 ] # [1,3,5,7,9] # NxM 크기의 2차원 리스트 초기화 n=4 m=3 arr = [[0]*m for _ in range(n)] # [[0 리스트 관련 메서드 append : O(1) sort : O..

study/python 2024.01.03

코딩테스트를 위한 알고리즘과 시간복잡도

알고리즘 알고리즘은 문제를 해결하는 방법입니다. 한 문제를 해결하는 방법은 무수히 많습니다. 그 중 자주 쓰이는 해결 방법에는 다익스트라, DP, DFS 등과 같이 이름을 붙여서 문제를 해결하는 방법을 패턴화 하였고 이것을 알고리즘 이라고 합니다. 알고리즘을 학습하여 응용, 적응 할 수 있게 된다면 코딩테스트의 문제를 보다 쉽게 해결할 수 있습니다. 알고리즘의 평가 기준 알고리즘의 평가 기준에는 3가지가 있습니다. 1. 시간 복잡도 : 문제를 해결하는데 걸리는 시간 과 관련이 있습니다. 시간이 적게 소요될 수록 좋은 알고리즘이라고 할 수 있습니다. 2. 공간 복잡도 : 한정된 메모리를 최대한 적게 사용할 수록 효율적입니다. 공간 복잡도를 통해 알고리즘이 메모리를 얼마나 차지하게 될 지 나타냅니다. 3. ..

Coding Test 2024.01.02