분류 전체보기(187)
-
[동적 계획법] 신나는 함수 실행
동적 계획법의 핵심은 return 값의 재사용. 재사용 할 값을 어떻게 효율적으로 저장 및 탐색할 수 있는지에 대한 고민과 그에 따른 자료구조 선택이 중요한 것 같다. 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net from sys import stdin w_dict = {} input_abc_arr = [] while True: [a, b, c] = map(int, stdin.readline().split()) if a == -1 and b == -1 and c == -1: break else: input_ab..
2021.10.03 -
React-Native-Web BP
ReactNative로 App을 만들게 되었다. 근데 추후에 WebView형태로 Embed 될 가능성도 있다고 해서 찾아보니 다행히 ReactNative 코드를 Dom으로 렌더링 해주는 라이브러리가 있었다. 이번 기회에 나중에도 써먹을만한 보일러 플레이트를 만들었다. 사용 기술 - Typescript - Redux, Redux-saga, Redux-toolkit - Axios - Styled-Components - Storybook - husky, lint-staged - Jest - Eslint, Prettier 욕심을 그득그득 내서 Storybook, Jest, husky 연동까지 해놨다. 정작 스크린 구조등을 잡아놓지 않아서... 추후 업데이트 가능성이 농후하다. GitHub - Jonghakseo..
2021.09.24 -
1년 회고록
1년 회고록 (20.09 ~ 21.09) 프론트엔드 개발자로 일을 시작한 지 어느덧 만 1년이 되었다. 비전공자로 공부 후 스타트업에서 일을 하며 느낀 점을 적어보려고 한다. 작년 7월 나는 사설 학원에서 약 9개월의 교육 과정을 진행하고 중간에 뛰쳐나와 본격적인 구직 활동을 시작했다. 마지막으로 하던 작업이 jQuery를 사용한 웹 프론트엔드 작업이었는데, 꽤나 재미가 있어서 웹 프론트엔드로 취직을 해야겠다고 생각했다. (수요가 많은 것도 한 몫을 했다.) 학원에서 한 프로젝트들을 바탕으로 포트폴리오를 만들고, 기술 면접을 준비했다. 기술 면접은 주로 js es6위주로 준비를 했는데, 실제 면접에서는 react관련 질문과 css질문, csr vs ssr routing 방식의 차이 등 다양한 질문이 나왔..
2021.09.21 -
[동적 계획법] 피보나치 함수
백 트래킹이 마무리가 되고 동적 계획법으로 넘어왔다. 동적 계획법 자체는 거창한 내용은 없었고, 값을 재활용한다는 핵심 개념만 알고 가면 될 것 같다. 값을 저장하고 꺼내오는 과정에서의 최적화에 대한 고민이 중요할 것 같다. 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net from sys import stdin T = int(stdin.readline()) f_arr = [-1] * 41 f_arr[0] = [1, 0] f_arr[1] = [0, 1] def f(n: int): global f_arr if f_arr[n] != -1: return f_arr[n] else: [z1, o1] = f(n - 1..
2021.09.12 -
[백트래킹] 스타트와 링크
오랜만에 백준 포스팅을 한다. 천천히 진행되던 백트래킹이 드디어 끝났다. 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net from sys import stdin from itertools import combinations as cb N = int(stdin.readline()) ARR = [] def get_team_status(team_list: list): total = 0 global ARR for x, y in cb(team_list, 2): total = total + ARR[x - 1][y - 1] + ARR[y - 1..
2021.08.30 -
[AWS lambda] 네이버 api CORS 우회
네이버 장소검색 api를 사용하던 도중, 브라우저 요청에서 cors 에러가 발생하는 문제를 겪었다. 요청 헤더에 id, secret이 고스란히 노출되기 때문에 브라우저 요청이 막혀있다. 개발 환경에서야 proxy 등을 사용해서 이슈 우회가 가능하지만, 실제 배포 후에는 적용되지 않기 때문에 해당 api를 대신 호출해줄 서버가 필요하다. 간단하게 쓰고 싶은데 언제 또 서버 구축하고... 배포하고.... 이럴 때 람다를 통해 서버리스로 간단하게 구축하면 된다. 완전 간단하게 알아보자. 1. AWS계정으로 람다 콘솔에 통해 로그인한다. 2. 함수 탭으로 이동 후 함수 생성을 누른다. 3. 함수 이름을 적고 생성을 누른다. 4. 생성에 시간이 살짝 걸리니 냉장고에서 물을 떠온다. 5. 생성된 함수 왼쪽 아래에 ..
2021.08.29