21.11.22 내용 수정 && 프로젝트 내용 추가 Polyfill? 웹 접근성과 Web Vitals에 대한 공부를 하다가 이해가 안 가는 개념이 있었다. First Input Delay(FID)라는 최초 입력 지연의 최적화를 공부하면서 Total Blocking Time(TBT)의 시간을 줄여야 FID도 줄일 수 있는데, 그 최적화 방법 중에서 사용하지 않는 polyfills를 줄여야 한다는 말이 있었다. 전혀 감이 오지 않아서 pollyfill에 대한 검색을 해봤다. 아래는 pollyfill.io의 공식 레퍼런스이다. 해당 사이트에선 기능이나 사용자의 브라우저에 따라 폴리필 스크립트를 제공해주는 서비스 사이트이다. 아래 글은 해당 사이트에서 Pollyfill에 대해서 말해주고 있다. 세계적으로 다양한..
14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 접근 방법 문제에서 왼쪽 방향으로 회전하는 부분을 현재 청소기의 방향을 기준으로 좌표를 미리 구했다. 아래 코드처럼 0 : 북일 경우에는 왼쪽 방향인 서쪽 방향을 체크해야 한다. 따라서 현재 좌표에서 바라보고 있는 방향을 기준으로 왼쪽의 좌표를 구했다. 0,1,2,3 각각 방향의 왼쪽 좌표를 미리 선언해놨다. 뒤로 한칸을 가야되는 경우도 미리 0,1,2,3 방향에 따라 뒤로 한칸의 좌표를 미리 구해놨다. 만약 청소기가 0:북 방향을 바라볼 때, 왼쪽을 탐색 해야..
타겟 넘버 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이..
투 포인터 알고리즘, 슬라이싱 윈도우 이전 문자열과 해싱이나 1차원 배열 같은 경우 구현 문제들이었다.(물론 효율적으로 풀어야 되는 문제들도 있었다.) 현재 투 포인터 알고리즘 카테고리를 학습하면서 수학적인 사고가 필요한 부분들이 많아졌다. 이전엔 문제에 주어진대로 풀다 보니 시간 복잡도를 생각하지 못했다. O(N3)까지 쓰면서 문제를 해결에만 집중했다. 하지만 알고리즘 스터디와 공부를 진행하다 보니 어려운 문제를 굉장히 수학적인 방법으로 간단하게 푸는 방식을 보면서, 알고리즘이 왜 중요한지 알 수 있었다. 이제는 O(N3)을 어떻게 O(N)으로 풀어낼 것인가를 조금이나마 고민하게 됐다. N의 조건이 100,000 정도가 넘어갈 때, 시간복잡도가 N2이 되면 문제가 생길 수도 있다. (참고) 따라서 더욱..
1차원 배열 01. 수열 축소 slice : slice() 메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다. begin음수 인덱스는 배열의 끝에서부터의 길이를 나타냅니다. slice(-2) 는 배열에서 마지막 두 개의 엘리먼트를 추출합니다.begin이 배열의 길이보다 큰 경우에는, 빈 배열을 반환합니다. begin이 undefined인 경우에는, 0번 인덱스부터 slice 합니다. 0을 시작으로 하는 추출 시작점에 대한 인덱스를 의미합니다. end예를 들어, slice(1,4)는 두번째 요소부터 네번째 요소까지 (1, 2 및 3을 인덱스로 하는 요소) 추출합니다.end가 생략되면 slice()는 배열의 끝까지..
21.10.28 오타, 내용 수정 1. 문자열 해싱 01. 문자열 압축 처음 접근: 해당 idx와 그 다음 idx 값이 같을 때, cnt의 개수를 for문으로 구해주고 answer에 str[i]와 String(cnt)를 붙여주는 방식으로 하려 했다. 하지만 계속 원치 않는 문자열이 추가가 됐다. 풀이 : 어느 부분에서 오류가 발생하는지 생각하기 어려웠다. 그 이유는 입력받은 문자열에서 직접 몇 번째 idx에 접근하는지를 처리하려고 하니 어려웠던 것 같다. 대신 cnt만 세주고 문자가 달라질 때, 새로운 문자열에 넣는 방식으로 생각하니 for문에서 처리하는 로직이 간단해졌다. JS에서는 새로운 배열에 필요한 값만 넣는다고 생각하면 쉽다. 내 풀이 function solution(str) { let answ..
6. HTML 기본기 다지기 17. Grid flex 박스의 기본적인 컨셉은 1차원의 개념이다. 따라서 wrap으로 다음 줄로 넘어간 요소들에 대한 정렬을 주로 다뤘다. grid의 기본 개념은 2차원으로 시작한다. 하나의 그리드는 columns, rows로 구성된다. 각 행과 열 사이에 공백이 있는데, 이를 gutters, gap이라고 표현한다. Table을 레이아웃에 사용하면 안된다! 17.1. grid-template-rows, grid-template-columns (Container 속성) width를 설정해도 기본적으로 border 값이 알맞지 않게 나올 수 가 있는데, 이는 border 값을 가지고 있기 때문이다. grid-template-row , columns를 적용한 곳에서만 css 적용..
Git git flow를 사용하기 위해, git을 다시 공부하고 있다. 멘토님의 교육을 받으면서 git을 편하게 사용하던 나의 습관들이 안 좋다는 것도 알게 됐다. 그중 하나인 git add . , 이나 git commit -m "" 같은 명령어들을 자주 썼는데, 이는 내가 Commit Convention 대해 생각하지 못하게 만들었다. 따라서 git bash를 사용하면서 올바른 습관을 만드는데 노력하고 있다. 웹 개발을 하면서 node_modules를 add 해버리는 경우도 경험을 해봐서 더욱더 안 좋은 습관이라는 말이 와닿았다. 나름 commit 메시지에 신경 쓰면서 개발하고 있다 생각했는데 나만 알아볼 수 있다는 것을 몰랐다. 다시 한번 다른 사람들도 알아볼 수 있게 만드는 것이 중요하다는 것을 깨..
- Total
- Today
- Yesterday
- c언어알고리즘
- JavaScript
- Git
- HEXO
- vscode
- 42서울
- 42서울 라피신
- 프로그래머스 자바
- flexbox
- 자바스크립트
- C언어문제
- 프로그래머스 코딩테스트
- 42서울 합격
- css
- C언어
- vscode commit vi
- c언어 함수
- 프로그래머스 카카오
- 알고리즘
- JS
- 42서울 합격 후기
- html
- 백준
- React
- C언어 문제
- 마크다운 이미지 업로드
- 42seoul
- git vi
- 프로그래머스 코테
- windows 10 ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |