함수 trapping_rain은 건물 높이 정보를 보관하는 리스트 buildings를 파라미터로 받고, 담기는 빗물의 총량을 리턴해 줍니다. 예를 들어서 파라미터 buildings로 [3, 0, 0, 2, 0, 4]가 들어왔다고 합시다. 그러면 0번 인덱스에 높이 33의 건물이, 3번 인덱스에 높이 22의 건물이, 5번 인덱스에 높이 44의 건물이 있다는 뜻입니다. 1번, 2번, 4번 인덱스에는 건물이 없습니다. 그러면 아래의 사진에 따라 총 1010 만큼의 빗물이 담길 수 있습니다. 따라서 trapping_rain 함수는 10을 리턴하는 거죠. 해설 현재 인덱스의 왼쪽에서 가장 높은 건물의 높이를 구한다 현재 인덱스의 오른쪽에서 가장 높은 건물의 높이를 구한다 그 중 더 낮은 건물의 높이를 구한다 그 ..
많은 사람들이 프론트엔드 개발 분야를 리액트 전과 후로 나누기도 하고, 혹자는 리액트가 실질적으로 프론트엔드 분야를 만들었다고 이야기 한다. 역사 웹 앱의 규모가 커지면서 파일들의 관리가 어려워졌고, JS의 중요성이 점점 커지게 되었다. 전통적인 웹은 페이지마다 각각 HTML,CSS,JS 파일을 가지고 있어야 했고, 페이지를 이동할 때 마다 이를 주고받아 로딩 속도가 느렸다. SPA(Single Page Application)가 등장하면서 위 파일들을 1회만 로드하고, JS를 통해 DOM을 조작하게 되었다. 내가 미취학 아동이었던 시절, 2006년에 Jquery가 발표되면서 세상의 표준으로 자리잡았고, 이후엔 구글의 Angular가 이를 활용하여 꽉 잡고 있었다고 한다. 교내 기숙사에서 시작된 페이스북은..
간만에 멘탈 케어를 위해, 가볍게 재귀 문제를 풀어보고 있다. 파이썬이라는 언어가 생소하여 굉장히 상스러운 문제를 겪었다. 각 자릿수의 합을 리턴하는 기초적인 문제였고, 아래와 같이 풀어냈다. 그러나 출력 결과가 몹시 이상한 것이다. 알고보니, 파이썬은 데이터에 따라 자료형을 자동으로 변환해준다고 한다. 그래서, 처음엔 정수였지만 나누기 연산에 의해 소수가 된 것이었다. 눈치껏 이를 파악해 아래와 같이 무식하게 형변환을 통해 문제를 해결했다. 그러나 파이썬에는 내가 알던 타 언어와 다르게 '//' 라는 '버림 나눗셈' 연산자가 있었다. 나눈 후 몫이 소수점이면 내림을 하는 연산자인데, 대충 다른 언어에서의 나눗셈 산술연산과 같은 것이다. 저 연산자를 알았다면 모범 답안처럼 풀었을텐데. 새로운 언어를 다루..
- 복잡한 데이터를 어떻게 효율적으로 관리할까? -> 상태 관리 : 화면에서 사용하는 데이터를 관리하는 것 - 문제 : Prop Drilling(하위 컴포넌트로 반복해서 Prop을 내려주는 것) - 해결 : Context(여러 컴포넌트, 후손과 조상 간 데이터를 공유) - 참고 : https://ko.legacy.reactjs.org/docs/context.html - 문제 : 여기저기서 데이터를 손대면서 추적 및 문제 해결이 어려워짐 - 해결 : Flux(데이터의 변경을 한 곳에서 하면서 흐름을 정리) -> 데이터를 변경하고 싶으면 액션을 만들어 Dispatcher에 전달 -> Store에 전달 -> 변경 후 렌더링 - 참고 : https://www.freecodecamp.org/news/how-to-..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.