"Life is Full of Possibilities" - Soul, 2020

분류 전체보기 50

[알고리즘] 프로그래머스 131130 혼자 놀기의 달인 자바스크립트

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [해설] 1. 1번부터 n번까지의 상자에 들어있는 카드의 값 cards가 주어진다 2. cards[i]에 해당하는 인덱스로 넘어가는데, 이미 방문한 인덱스라면 이동을 종료한다 3. 2번의 횟수를 카운팅한 뒤 정답 배열에 추가한다 4. 정답 배열에서 가장 큰 수와 두 번째로 큰 수를 서로 곱한 값을 출력한다 4-1. 정답 배열의 길이가 2 이하라면 0을 출력한다 function solution(cards) { const n = cards.length; let cardsCountList = []; let visi..

알고리즘 2024.01.05

[알고리즘] 프로그래머스 17680 캐시 파이썬

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 2018 카카오 코딩테스트 기출 - 캐시 : 저장할 수 있는 공간 - 캐시 크기 3 == 3개의 문자열 저장 가능 - LRU : 가장 마지막으로 사용된 것을 교체하는 알고리즘 - 스택에 값을 저장하는데, 먼저 저장된 것부터 쌓이게 된다 - 스택에 존재하지 않아 기존의 것을 빼고 새로운 값을 저장해야 할 때는 popleft()로 가장 왼쪽의 값을 빼내고, - 이미 스택에 존재하는 값일 경우 기존의 값을 remove 하고 새롭게 저장해준다 - deque의 pop()은 인덱스를 지정할 수 없어서 remove를 ..

알고리즘 2023.12.18

[알고리즘] 백준 7569 토마토 파이썬

7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 0. 초기 주어진 배열에서 모든 토마토가 익었을 때와 아닐때를 구분 1. 초기 익어있는 토마토 위치 저장 2. 저장된 초기 위치 기반 순회 3. 순회하며 토마토를 익히고 queue에 익힌 토마토 위치 저장 4. queue 순회 종료 후 전체 순회하여 익지 않은 토마토 확인 5. 모든 토마토가 익어있다면 배열의 최댓값 확인 (값이 날짜를 나타냄 => 익어갈때마다 +1일) import sys from collections import dequ..

알고리즘 2023.11.29

Javascript vs Typescript : 어느 것을 써야 할지 고민이 된다면?

먼저, Javascript와 Typescript의 가장 큰 차이점은 Typescript에는 Type을 지정한다는 것입니다. Javascript에서는 a + b 코드를 작성할 때, const a = 1; const b = 1; const c = a + b; // 2 위와 같이 작성하지만 Typescript의 경우 타입을 지정하게 됩니다. const a :number = 1; const b :number = 1; const c :number = a + b; // 2 Type의 경우 number string boolean 등이 있으며, const와 let 등으로 선언하는 변수 이외에도 props로 전달받는 인자까지 타입을 지정하게 됩니다. const a :number = 1; const name :string..

스크롤 동작 최적화를 위한 옵션, "Passive event listener"

Passive Event Listener?Chrome 51 부터 등장한 스크롤 동작 최적화를 위한 옵션.터치 이벤트나 마우스 휠 이벤트 동작 시 사용됩니다. 먼저 어떤 느낌인지 비교를 하자면, 다음 영상을 참고해 주세요.터치 또는 휠 이벤트 시 퍼포먼스를 대폭 향상시킬 수 있는 옵션이며, 모바일 환경에서 경험할 수 있습니다.따라서 스크롤의 성능을 최적화하고 싶을 때 사용하는데, preventDefault의 동작이 실행되는 것을 막을 수 있습니다.addEventListener로 등록된 이벤트는 Compositor thread에서 처리됩니다.원래대로라면, 이벤트를 Main thread에 넘긴 뒤 자신은 Render tree를 다시 넘겨받을 때까지 대기상태가 됩니다.그런데 passive 옵션이 활성화(true..

[Git] Git push error

git pull로 기존 레파지토리를 로컬로 받은 뒤새로운 폴더와 파일을 만들어 git push를 하려고 하니 다음과 같은 오류가 뜬다. Updates were rejected because the tip of your current branch is behind ~ $ git push origin masterTo https://github.com/[레파지토리 이름] ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to 'https://github.com/[레파지토리 이름]'hint: Updates were rejected because the tip of your current branch is b..

SSAFY Meet Up!

지난 6월 2일, 1학기 종료를 알리는 SSAFY Meet Up 행사에 참여했다! 원래는 서울캠퍼스에서 진행되었는데, 이번 행사는 대전캠퍼스에서 진행됐다~~~~! 그래서 나도 현장에서 참여할 수 있었다 (꿀잼!👍👍) 대전의 명물 성심당 빵도 나눠주시구 알록달록한 풍선으로 예쁘게 꾸며져 있었다💙💙💙 우리반 동기들이랑❤️ 아 그런데 다같이 모이는 게 마지막이라니ㅠ.ㅠ.....아쉬웠다😭 다음학기에도 다 같이 같은반이 될 수는 없는걸까아아아ㅏ.... 시간이 흘러 한시 반부터 시작된 행사! 사회자 박슬기님이 진행해주셨는데 너무너무 재밌고 열정적으로 진행해주셨다!!!👏👏👏 이벤트도 참여해서 단백질바 겟❤️ 취업 관련 이벤트 외에도 퍼스널컬러 진단 등 소소한 이벤트들도 있었다~! 수료증 받고 마무으으으리 벌써 1학기..

SSAFY 2023.06.06

[TIL] Local Storage vs. Session Storage (vs. Cookie)

Web Storage : Local Storage, Session Storage 1. Local Storage - 로컬에 저장됨 - 시간제한이 없고, 브라우저가 꺼져도 사라지지 않는다. => 데이터를 지우기 위해서는 직접 지워주어야 함! - 데이터가 문자열이어야 하고, 다른 자료형 입력 시 문자열로 자동 변환됨. 2. Session Storage - 세션이 종료될 때까지 유지됨 - 세션이 종료된다? => 브라우저, 프로세스, 탭이 종료된다 - 세션이 종료되면 데이터가 사라짐 - 브라우저마다, 탭마다 다른 session 3. Cookie - 용량, 시간, 개수 제한이 있음 - 특정 기간 동안 저장 가능. - 만료 날짜가 지나거나 브라우저 종료 시 자동으로 사라짐. - 자동로그인, 다시 보지 않기, 장바구니..

[Django] Migration

HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 : 모델을 db에 저장하는 것 모델에서의 변경사항이 생겼을 경우 새롭게 migration을 진행해 주어야 한다. 명령어 (SQLite) : python manage.py makemigrations [app_name] - app_name에 대해 마이그레이션을 진행 - app_name을 작성하지 않으면 전체 app에 대해 마이그레이션 진행 - 프로젝트 생성 이후 첫 번째 마이그레이션은 app_name을 작성하지 않고 전체 마이그레이션을 해야 함 python manage.py migrate [app_name] [migration_name] - 모델의 변경사항을 DB에 반영하는 단계 - app_name에 대한 DB를 반영 (생략 가능..

[Python] 얕은복사 vs 깊은복사

2차원 배열 생성 시, List Comprension 사용-> 각각의 독립적인 원소들을 만들어 id 값의 중복을 없앰 - 두 변수 id의 중복이 발생한다면?== 두 변수는 같은 데이터를 가리킨다== 얕은 복사a = [1, 2, 3]b = a # 얕은 복사print(b)# [1, 2, 3]b[0] = 10print(b)# [10, 2, 3]print(a)# [10, 2, 3] b 값을 변경했지만 a 값도 바뀜 print(id(a))# 1701393449088print(id(b))# 1701393449088 a와 b는 같은 id값을 갖고 있음 얕은 복사가 일어나지 않게 하려면? 1. 깊은 복사 (deepcopy) 사용import copya = [1, 2, 3]c = copy.deepc..