전체 글 45

두 트리 비교하기

한국 코테에서는 트리가 잘 안 나오는 것 같다자료구조 때 했었는데 직접 구현해본 기억이 별로 없는 듯100. Same Tree두 트리가 같으면 True, 다르면 False를 반환하는 문제다처음에는 inorder 등 순회를 하면서 가지고 온 결과가 같으면 같은 트리지~ 생각하고 풀었는데 막상 확인해 보니결과 배열에 들어있는 노드들의 값은 같았지만 구조가 다른 경우 (null) 등.. 정확하게 파악되지 않았다다른 트리임에도 res 배열 값이 같아서 같은 트리로 취급됨주석처리한 부분이 문제의 코드이고# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# s..

Dev/Algorithm 2024.10.14

친구 네트워크

주말에 갑자기 c++ 로 코테를 치게 되어서 3일동안 c++을 공부했다예전 자료구조 수업을 c로 들었던 것 그리고 컴프실을 c로 들었던가특히 ~자동으로 알아서 다 해주는~ 파이썬을 쓰다가 c++ 쓰려니까 수동기어가 달린 차를 모는 것 같은 느낌이다언어가 c, c++, java밖에 없던데 c로 필요한 자료구조 다 만들어서 코테를 통과하려면 피지컬이 대단해야 할 것 같다암튼 타입 지정, 세미콜론, vector, 필요한 파라미터 전달같은 것에 익숙해져 있다가 다시 파이썬으로 오니까 또 관성대로 하게 된다 친구 네트워크문제민혁이는 소셜 네트워크 사이트에서 친구를 만드는 것을 좋아하는 친구이다. 우표를 모으는 취미가 있듯이, 민혁이는 소셜 네트워크 사이트에서 친구를 모으는 것이 취미이다.어떤 사이트의 친구 관계가..

Dev/Algorithm 2024.10.14

babel? SWC? "next/font" requires SWC although Babel is being used due to a custom babel config being present. Jest SWC로 typescript, ES6 적용

Jest 테스트코드에서 ES6 문법과 typescript를 사용하고 싶어서 babel 설정을 하고 빌드를 돌렸더니 해당 에러가 발생했다.친절하게 에러 메시지에서 next/font 가 SWC를 필요로 하고, 바벨 설정이 있어서 충돌이 났다 이런 의미인 것 같다.next/font를 사용하는 곳이 현재 layout 에서 기본 폰트인 Inter를 로드하는 곳에밖에 쓰이고 있지 않아서 이걸 제거해 빌드는 성공했다.바벨과 SWC 가 뭐가 다르고 왜 둘이 다른 걸 써서 골치 아프게 하는 건지 알아보자 ... Babel먼저 바벨은 자바스크립트 컴파일러다.Babel transpiles modern, newer versions of JavaScript such as ES6 or TypeScript into old fash..

Dev 2024.09.24

FP->LCP 시간을 줄여보자

서론ux를 위해 빈 화면이 뜨는 시간이 적고 빠른 피드백이 필요하다에는 이견이 적을 것이다.실제로 내 웹이 어떻게 전달되는지 개발자도구를 통해서 살펴봤는데, 개선점이 많아 보강도 할 겸 정리해본다. 본론현재 내 홈페이지를 개발자도구 performance 탭으로 찍어봤다.LCP가 2.85s로 조금 느린 것을 확인할 수 있다.FP는 208.8ms로 0.2088초니까...FP -> LCP 가 2.6412s 가 걸린다! 2.5초 내로 LCP가 마무리되는 것이 적절하다고 한다. https://pagespeed.web.dev/analysis/https-www-rryu09-com/u7utvt3zu5?hl=ko&form_factor=desktop PageSpeed Insights올바른 URL을 입력하세요.pagespe..

Dev/리팩토링 2024.09.13

타이포랩 리팩토링: 가이드 페이지

넥제로 약 1년 전에 급하게 만든 프로젝트를 심심해서 까봤는데 문제가 아주 많았다1년 전의 똥코드를 박제하고 리팩해보자 .. UserGuide.tsx 페이지를 살펴보면 VIEW GUIDE 버튼을 누르면 로딩 이미지가 뜨고, 로딩이 완료되면 지피티가 만들어준 설명이 렌더링된다 코드를 살펴보면 문제가 많다. 0. 구조분해할당???린트 설정이고 뭐고 냅다 tsrafce 해서 만들어진 Props 에 필요한 걸 갖다 넣어둔 모습이다.심지어 props:Props 로 받아와서 이후 모든 받아온 값에 props.element 처럼 접근해야 한다. 컨벤션의 문제이기는 하지만.. 타입 이름에 페이지명을 포함시켜줬고 구조분해할당을 시켜준 후 모든 props. 를 제거했다.스타일적인 부분들은 린트 설정 후 한번 정리하는 게 ..

Dev/리팩토링 2024.09.03

최대 증가 부분 수열

n = int(input())m = list(map(int, input().split()))dp = [0]* ndp[0]=1for i in range(1, n): li =[] for j in range(i): if m[j]0: dp[i] = max(li)+1 else: dp[i] =1print(max(dp)) 지나는 j 인덱스 중 가장 값이 큰 걸 dp[i] 에 넣고 싶어서m[j] 가 m[i]보다 작은 경우에 배열에 넣어서 반복이 끝난 뒤 max 값을 뽑고길이가 증가했으니까 1을 더했다m[j] 가 m[i]보다 작은 경우가 나올 경우 max를 구할 수 있는 배열의 요소가 없고, 길이가 1부터 시작하기 때문에 1을 넣어줬다. 하지만 배열을 써서 max 값..

Dev/Algorithm 2024.08.29

ELB 없이 SSL 인증서 적용: ipv4 과금에 따른 VPC 에서의 public ip 주소 사용하지 않도록

EC2 프리티어에 딸린 퍼블릭 ip 주소 하나는 과금되지 않는다. 원래는 ELB 에 인증서 붙여서 https 설정을 했었는데VPC 를 보니까 public ip 를 많이 쓰고있어서 과금이 많이 됐었다구성할 때에는 로드밸런서가 있어야 https 달 수 있는 줄 알고.. 그땐 검색해 봤을 때 저렇게 달면 된다고 쓰인 블로그 포스팅들이 많았다도전학기 마감한다고 배포에 신경 쏟을 시간도 없었던 터라이제 여유가 생긴 겸 한달에 만 얼마씩이나 뜯어가는 AWS를 단단히 손봐주리라 생각했다..프리티어 기간이 거의 되어 가기도 하고도메인도 한번 갈아야 하는데 프론트 도메인은 계속 사서 가는 게 좋을지 고민이긴 하다더 업글해서 GA 달고 유입을 늘려보는 게 더 좋을 것 같기는 한데 시간을 좀 들여야 할 것 같다아무튼 이번 ..

Dev/Cloud 2024.08.27