99클럽 코테 스터디 16일차 TIL
·
devlog/TIL
뜨문뜨문한 TIL...이대로 괜찮은가? 🤔 오늘의 문제백준 25757 – 임스와 친구들LeetCode - Number of 1 Bits백준 25757 – 임스와 친구들문제요약게임 종류(Y/F/O)에 따라 참여 인원 수가 다름 (2/3/4)중복된 닉네임 제거 후, 최대 몇 게임 가능한지 계산풀이 전략입력값을 받은 후, set으로 중복된 닉네임 제거게임에 따라 추가로 필요한 인원수를 dict로 저장 중복이 제거된 플레이어 이름에서 선택된 게임에서 필요한 인원수를 나눈값만큼 게임 플레이 가능 코드import sysprmpt = sys.stdin.readline().split()names = [sys.stdin.readline().strip() for _ in range(int(prmpt[0]))]games ..
99클럽 코테 스터디 11일차 TIL
·
devlog/TIL
오늘의 문제706. Design HashMap문제 요약직접 해시맵 구현하기 (내장 hashmap 라이브러리 사용X)key 범위: 0 최대 10^4번의 호출풀이 전략튜플 사용고정 크기 버킷 배열 사용: self.map = [...]충돌 해결 방식 → 각 버킷에 (key, value) 튜플을 리스트로 저장class MyHashMap: def __init__(self): self.size = 10000 # 10^4 operation 대비? self.map = [[] for _ in range(self.size)] def put(self, key: int, value: int) -> None: index = hash(key) % self.size f..
99클럽 코테 스터디 10일차 TIL
·
devlog/TIL
오늘의 문제LeetCode 347: Top K Frequent ElementsLeetCOde 2283: Check if Number Has Equal Digit Count and Digit Value문제 요약Top K Frequent Elements nums 배열에서 가장 많이 등장한 k개의 숫자 return (배열로) 시간복잡도 O(nlogn) 풀이 전략시간복잡도 O(nlogn) 이라, brute-force는 불가능Counter 함수와 Heap을 사용해서 풀이Counter 함수: 주어진 배열에서의 빈도수를 dictionary 형태로 생성 -> 시간복잡도 O(n)Heap: 빈도 높은 k개를 추출하기 위해 사용 -> 시간복잡도 O(nlogn) 코드from collections import Counterim..
NHN FORWARD 2022 발표 후기
·
devlog/conference
😅 25년에 올리는 22년도의 발표후기 (...) 22년도에 따끈하게 작성해두고 비공개 처리 해둔 글을 발견해서 다시 재발행 합니다... 유튜브 링크도 올라와서 추가했습니다! 내가 발표라니?!?!? 😵 한번쯤은 해보고 싶다..라는 생각이 들었었지만 이렇게 하게 될 줄은 몰랐다! 우당탕탕 준비 하기는 했지만 겪어 보고 나니 정말 좋은 경험을 했다!  NHN FORWARD??NHN에서 주최하는 기술 컨퍼런스이다. 2018년 부터 매년 주최하였고, 코로나로 인해 20년,21년은 온라인으로 진행되었다! BE, FE, 그리고 앱개발 등 기술적인 내용을 발표하는 자리이기도 하고, 라운지 토크 처럼 시간은 라이트하지만 내용은 알찬! 세션들도 준비되어있다. https://forward.nhn.com/2022 NHN..
99클럽 코테 스터디 9일차 TIL
·
devlog/TIL
문제BOJ 3986 - 좋은 단어🔍 문제 요약문자열에서 같은 알파벳끼리 짝을 지어야 함선이 교차하지 않도록, 즉 스택 구조처럼 처리해야 함모든 문자가 정확히 한 번만 짝지어지면 → "좋은 단어"📌 풀이 전략:문자를 하나씩 순회하며:스택이 비었거나 top이 다르면 → append()top과 현재 문자가 같으면 → pop()단어 순회 후 스택이 비어 있으면 → 좋은 단어로 카운트python에는 peek()이 없으므로, 배열 마지막 요소를 확인하는 것으로 대체👩‍💻 코드import sysn = int(sys.stdin.readline())count = 0for _ in range(n): word = sys.stdin.readline().strip() stack = [] for c in ..
Leethub v2 수정해서 NOTES.md 도 업로드 하기
·
devlog/etc
new UI가 적용되면서 기존에 동작하던 Leethub 앱이 동작하지 않게 되었다.이에 따라서 여러 개발자들이 v2, v3 등등 개선한 버전을 공유하고있다! 대부분의 케이스에서는 잘 동작하는 것 같다. 👍이렇게 동작하지 않는 이유로 검색하다가, algorithms 풀이를 한 repo에서 관리할수있게, 그리고 이걸 difficulty 기준으로 폴더 정리해서 나눌수있게! 해주는 블로그 글을 발견했다. 이렇게 정리하면 기존에 알고리즘 문제 풀이 하는 repo도 싹 정리가능해서 적용했다! 잘됨!잘 쓰다가, 문득 notes도 같이 업로드 되었으면 좋겠다! 는 생각에 기존 코드를 좀 뜯어 보기 시작했다.나는 지금 V2버전을 수정해서 사용하고있는데, 이 코드 기반으로는 notes가 업로드 되는 부분이 생략되어있다...
[뉴비개발자 시리즈] 신입 개발자의 일탈 - 봇 만들기
·
devlog/etc
2017-09-29에 작성한 글을 옮겨왔습니다. 동기들 채팅방에서 썼던 봇에 관한 글입니다. 방정맞은 말투는 이해 부탁드립니다.. 지금 보니 신입이었을땐 딴짓도 개발로 했었네요 🙄 꿀잼 봇 만들기 도롱뇽농땡이봇이 일을 하고있다. 추석연휴를 맞아 봇을 하나 만들었습니다. 네 1분안에 완성 가능합니다. 예. 단축안해서 업무가 손에 안잡혀서 글 올려봅니다. 코드랄 것도 없지만 파이썬으로 ★우리회사★ 로 메세지를 날려보겠습니다. import requests, time, datetime, sys def let_the_world_know(): hook_url=[사내 메신저 채팅방 web hook url] image_url=[이미지 업로드된 cdn url] lunch_url=[세상에서 제일 중요한 그날의 점심 메뉴 ..
Transactional + DDD
·
devlog/TIL
2019년 12월 16일에 notion에 작성한 글을 옮겨 왔다.@Transactional + DDDfun requestRefund(request: RefundRequest): RefundResponse { val paymentInfo = 결제클라이언트.get결제정보(request.orderNo) return refund(refundDomainService.register(request, paymentInfo))}보통 외부의 호출이 일어날떄 transaction을 분리하는 경우는 다음과 같다.transaction이 이미 열렸고, 외부 호출을 하는 경우 timeout 같은 에러 발생 시, 지연된 시간만큼 transaction을 물고 있기 때문에 좋지 않다. → db lock 발생 가능 (그런데 ..