일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring Boot
- 티스토리
- jdbc
- 불량 사용자
- Tistory
- 튜플
- trie
- 카카오 인턴
- bulk update
- 프로그래머스
- 징검다리 건너기
- Python
- 가사 검색
- 트라이
- 크레인 인형뽑기 게임
- 보행자 천국
- 티스토리 open api
- pycon
- 알고리즘
- CleanCode
- Open API
- 트라이 #trie #알고리즘
- 호텔 방 배정
- Today
- Total
목록분류 전체보기 (153)
택시짱의 개발 노트
백엔드 개발에는 터미널 CLI 환경 사용이 중요하다.
1. 페이지 테이블을 검사하여 필요로 하는 페이지의 메모리 참조가 유효(valid)한지, 유효하지 않은지(invalid) 판단한다. 2. 유효하지 않은(invalid) 상태라면 운영체제에게 트랩(trap)을 건다. 운영체제는 invalid 한 경우가 메모리 경계를 넘는 것이라면 프로그램을 종료시키고, 페이지 폴트(page fault)라면 free frame 을 찾는다. 3. 디스크에서 해당 페이지를 로딩하라고 I/O 요청을 하며, 프로세스를 waiting 상태로 바꾼다. 4. 페이지가 free frame 에 로딩이 완료되었다는 인터럽트가 오면 페이지 테이블에 접근해서 상태를 invalid 에서 valid로 변경한 후, 프로세스를 waiting 에서 ready 로 변경한다. 5. 페이지 폴트(page fa..
부하 분산에는 L4 로드밸런서와 L7 로드밸런서가 가장 많이 활용된다. 그 이유는 L4 로드밸런서부터 포트(Port)정보를 바탕으로 로드를 분산하는 것이 가능하기 때문이다. 한 대의 서버에 각기 다른 포트 번호를 부여하여 다수의 서버 프로그램을 운영하는 경우라면 최소 L4 로드밸런서 이상을 사용해야 한다. L4 로드밸런서 L7 로드밸런서 네트워크 계층 Layer 4 전송계층(Transport layer) Layer 7 응용계층(Application layer) 특징 > TCP/ UDP 포트 정보를 바탕으로 함 > TCP/ UDP 정보는 물론 HTTP의 URI, FTP의 파일명, 쿠키 정보등을 바탕으로 함 장점 > 데이터 안을 들여다보지 않고 패킷 레벨에서만 로드를 분산하기 때문에 속도가 빠르고 효율이 높..
링크 programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr import collections import heapq import functools import itertools import re import sys import math from typing import * def solution(n): one_cnt = bin(n).count('1') while True: n +=1 one_tmp..
링크 www.welcomekakao.com/learn/courses/30/lessons/67258?language=python3 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] www.welcomekakao.com import collections import heapq import functools import itertools import re import sys import math from typing import * def solution(gems): left: int = 0 gems_cnt = len(set(gems)) deque = collections.deque() answe..
글쓰는데 재주가 없어 이해가 안되시면 댓글로 남겨주시면 친절하게 알려드리도록 하겠습니다 ~_~ 링크 www.welcomekakao.com/learn/courses/30/lessons/67259?language=python3 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],..
class TrieNode: def __init__(self): self.word = False self.children = dict() class Trie: def __init__(self): self.root = TrieNode() def insert(self,word : str) -> None: node = self.root for char in word: if char not in node.children: node.children[char] = TrieNode() node = node.children[char] node.word= True def search(self,word : str)-> bool: node = self.root for char in word: if char not in no..