일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 비동기
- pjax
- eslint
- Permutations
- webpack
- 환경설정
- react internals
- useState
- await
- VanillJS
- 코딩테스트
- useMemo
- prettier
- useEffect
- 그리디
- react
- VanillaJS
- BFS
- python
- Hook
- 완전탐색
- web
- canvas
- React.memo
- 코테
- useCallback
- Custom Hook
- venv
- 프로그래머스
- seo
- Today
- Total
목록전체 글 (44)
Amada Coding Club
문제는 설명은 이거 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제를 보고 8X8이상의 보드를 잘라서 체스판을 제일 적게 변경하려면 전체 보드에서 나올 수 있는 모든 8x8보드를 다 구해야 한다고 생각했다. 그래서 8X8의 기준점(시작점)을 0, 0부터 시작해 8칸을 그려야되기 때문에 전체 보드에서 각 행과 열의 크기의 -7값까지만 가야한다는 것까지 그리고 그 안에서 다시 반복문을 2개를 넣어 기준점부터 행과 열을 이동시켜 체스판을 바꾸는 횟수를 구해야 한다는 것은 생각했지만 그 부분을 어떻게..
패스트캠퍼스 강의에서 그림판 만들기 실습을 했는데 너무 흥미로워서 글로 남긴다. 그림판을 제작할 때는 HTML의 캔버스 태그를 이용한다. 코드에선 클래스를 사용했기 때문에 this문을 사용함. 본인 코드에 맞게 적절히 수정하길 참고: El로 끝나는 값-HTML태그 캔버스 작업을 하기 위해선 먼저 캔버스의 context를 가지고 와야 한다. context = 캔버스엘리먼트.getContext('2d와 3d 선택가능'); context는 2d와 3d 선택이 가능하다. 즉, 일반적인 2d작업뿐만 아니라 3d작업도 가능하다는 말! context를 가지고 왔다면 이제 canvas에 이벤트리스너를 등록한다. 그림판에 그림을 그릴 때 나오는 이벤트(행위)는 다음과 같다. 1. 그림판에 마우스를 누르면 그리기 시작(m..
문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 내 풀이 나는 처음에 BFS를 생각했다. 그래서 queue를 사용해서 문제를 풀면 된다고 생각했다. from collections import deque def solu..
나는 지금 겁나 부족하다. 다른 사람들을 보면 문제를 읽고 나면 이 문제는 어떤 유형인지 바로 파악하고 문제 풀이를 시작하는데 나는 그걸 못한다. 그래서 일단 여러 문제를 부딛혀보고 있다. 이번엔 게임 맵 최단 거리를 풀어봤다. 시간을 정하고 풀다보니 결국 풀긴 풀었지만 오답이 나왔다. 일단 내 풀이 def solution(maps): startx = 0 starty = 0 endx = len(maps) - 1 endy = len(maps[0]) -1 if(len(maps) == 1 and len(maps[0]) == 1): return 1 x = 0 y = 0 while True: if(x+1 = starty and maps[x][y-1] != 0 and maps[x][y]+1 < maps[x][y-1..
패스트캠퍼스에서 이미지 갤러리 서비스를 연습하던 중 이미지 파일을 브라우저에 드롭할 수 있게 도와주는 react-dropzone에 대해 알아봤다. 신기하게 이번 시간에선 리액트를 타입스크립트로 만졌고 React-dropzone에서 다음 부분에 문제가 생겼다. const onDrop = useCallback((acceptedFiles) => { // Do something with the files }, []) 파일이 브라우저에 드롭됐을 때 그 파일을 처리하는 부분이다. 이 부분의 acceptedFiles 부분에 문제가 생겼다 acceptedFiles가 'any'타입으로 명시되어 오류가 난다는 뜻이다. 해결책은 간단했다. 타입 스크립트이기 때문에 acceptedFiles의 타입을 명시하면 된다. 이 값은 ..
코테 준비를 하면서 다른 사람들의 잘 짠 코드들을 보면 lambda함수를 사용하는 걸 볼 수 있다. 학부 프로그래밍 언어론 강의 때 람다에 대한 내용을 다뤘었는데 기억나는 부분은 람다표현식을 사용하면 여러 줄의 코드를 짧은 줄로 획기적으로 줄일 수 있다는 부분이었다. 이때는 단순히 그런가보다 했었는데 생각보다 코테에서(실제 개발환경에서는 사용해본 적이 없어서 잘 모르겠다) 람다표현식이 많이 사용되어 정리를 해보려고 한다. Lambda expression 람다 표현식의 구체적인 설명은 생략하고 람다의 형태는 다음과 같다. lambda 매개변수 : 표현식 #위 식은 아래와 같음 def function (매개변수): 표현식 이와 같이 아래 함수를 람다 표현식을 통해 간단하게 표현할 수 있다. map 함수를 이..