TIL_2020년 11월 10일 (화)
TIL 작성 원칙
- 매일 쓴다.
- 사소한 것이라도 쓴다.
- 좋은 생각이든 나쁜 생각이든 다 기록이라고 생각하고 쓰자.
- 체크박스를 만들어서 꼭 해야하는 일들을 체크해두자!
- 나의 일기이기도 하지만 남에게 보여주는 에세이라고 생각하고 짤도 넣고 재밌게 쓰자~
0. 매일 해야할 일
-
개발관련 글 읽기 or 개발관련 영상 보기
- 오늘 본 글/영상 : 읽기 좋은 코드를 위한 간단한 원칙
-
개발관련 공부
-
TIL 작성
-
알고리즘 풀기
Q. 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. (ex. nums = [3, 2, 3] -> return 3 // nums = [2, 2, 1, 1, 2, 1, 2, 2] -> return 2)
def more_than_half(nums): count = len(nums) # 우선 전체 배열의 길이를 구한다 majority = (count // 2) + 1 # 과반수를 따로 빼놓기 my_dic = {} for num in nums: if num not in my_dic: my_dic[num] = 1 # 값이 없으면 1개로 치면서 들어가고 else: my_dic[num] += 1 # 값이 있으면 있는 것에다가 1을 더한다 for key, value in my_dic.items(): if value >= majority: # 만약 과반수보다 크다면 키를 뱉어달라 return key print(more_than_half([3, 2, 3, 1, 1, 1, 1]))
생각보다 쉽게 풀렸던 문제. 5분만에 다 풀었다. 더 간단한 방법이 있겠지만 나는 문제를 쪼개고 하나씩 천천히 하는 것이 더 좋다.
1. 오늘 한 일
-
Wecode(17일차)
-
댓글 추가/삭제 기능 세션 신영멘토님이 가르쳐주신 세션. 컴포넌트를 더 많이 분리해야한다는 생각을 했고, 아주 작은 디테일까지도 신경써야겠다고 생각했다. (신영님은 빈값일 때 엔터키가 눌러지지않도록 그런 조건들을 다 추가해뒀더라…나도 추가해야겠다)
-
Instagram Cloning Project
북마크 클릭 기능. 원래는 map함수를 돌려서 그런지 모두가 한 몸으로 묶여져있었다. 그래서 id가 0인 것의 북마크를 눌렀을 때 / id가 1인것의 북마크를 눌렀을 때 모두가 한 몸처럼 묶여서 클릭되었다. 그것을 분리하기위해 filter 함수를 사용하여 아래와 같이 분리했다.
먼저 bookmarkedList라는 변수를 선언해서 기존의 배열을 그대로 담는다. 그리고 그 변수에 필터를 걸어서 id가 같을 때만 true / false를 뒤집는 것을 추가했다. 그리고 다시 원래 feedItem에 얹는 형태로 구현. (주변 사람들이 많이 도와줬다) filter method에 대해 또 새로 배웠으니 공부해야지…
handleBookmarkValue = (e) => { const { feedItem } = this.state; console.log(e.target.id); let bookmarkedList = [...feedItem]; bookmarkedList = bookmarkedList.filter((el) => { if (el.id == e.target.id) { el.isBookmarked = !el.isBookmarked; } // console.log(bookmarkedList); return true; }); this.setState({ feedItem: bookmarkedList, }); };
-
-
블로그 작성
2. 오늘의 생각
점점 몸이 축 쳐지고 있다. 몸이 못버티는 느낌이랄까? 피곤이 쌓이고 쌓여서 이제는 뭔가 정신력으로 하고 있는 느낌이고, 뭔가를 해도 막 깊게 들어오지않는다. 다음주부터 프로젝트인데 몸관리를 정말 잘해야겠다. 공부해야할 것도 많지만 그렇다고 또 좀비처럼 계속 있을 수는 없다. 이거는 계속 악순환이 될 것같다. 몸을 지키자! 잘하자~
댓글남기기