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 ..
[오브젝트] 01. 객체 설계
·
BE/BE
🔖  책에서 기억하고 싶은 내용절차지향에서의 객체는 수동적이며, 그저 데이터를 담는 존재일 뿐이다. 하지만 객체지향에서는 객체를 생명과 지능을 가진 능동적인 존재로 설계해야 한다.이 책은 단순히 "객체지향이란 무엇인가?" 에서 멈추지 않고, "어떻게 하면 좋은 객체지향 설계를 할 수 있을까?" 라는 고민을 해결해준다.훌륭한 객체지향 설계란 객체 간의 협력을 고려하면서, 의존성을 적절히 관리하는 설계다.어떤 설계든 정답이 존재하는 것은 아니지만, 객체의 자율성을 높이고 불필요한 의존성을 줄이는 것이 좋은 설계로 이어진다. "설계는 코드를 배치하는 것이다." 이 문장이 특히 인상적이었다.절차지향에서는 데이터와 절차가 분리되어 있지만, 객체지향에서는 데이터와 절차가 하나의 모듈 안에 공존한다.즉, 코드를 어..
🐳 Docker Desktop for Mac + JDK 17이 실행되지 않는 이유 deep dive!
·
DevOps/docker
최근 Docker Desktop for Mac 환경에서 JDK 17을 사용하는 Spring Boot 애플리케이션이 실행되지 않는 문제를 발견했다.이상한 점은 Windows 환경에서는 정상 실행되지만, Mac에서는 실행 후 바로 종료된다는 것이다."환경 차이 때문인가?" 🤔 하지만 Docker는 OS와 무관하게 동일하게 실행되어야 하는데, 왜 이런 문제가 발생한 걸까?정확한 원인을 찾기 위해 Deep Dive 해보았다.🔍 문제상황Mac에서 실행한 Docker Container의 로그를 확인한 결과,JVM이 컨테이너 내부 리소스를 감지하는 과정에서 NullPointerException 발생했다.java.lang.NullPointerException: Cannot invoke "jdk.internal.pl..
놀고있는 노트북으로 homelab을 꾸려보자-2
·
DevOps/etc
오늘의 설정 ⚒️✅ ubuntu-server 설치✅ 맥북 --> 홈랩 서버 원격 설정✅ 홈랩서버 클램쉘 모드 설정✅ k3s cluster 구성ubuntu-server 설치노트북 각각 ubuntu-server를 깔고, docker로 설치완료했다.ubuntu-server를 깔기 위해서는 ISO 이미지를 다운받아 bootable usb를 만들어야 한다!ubuntu-server ISO를 다운받는다https://etcher.balena.io/ 를 다운받는다 (ubuntu 오피셜 사이트에서 추천해 준 툴)다운받은 ISO 이미지를 선택 -> usb 드라이브 선택 -> usb드라이브에 설치되기까지 대기다운이 완료된 usb를 ubuntu-server를 설치하고자 하는 컴퓨터에 연결부팅 시 usb로 실행여튼 설치 완료했으..