전체 글

삼시세끼 잔잔하게 개발하는 프로그래밍 수련기 : Spring boot, Algorithm, Android
https://leetcode.com/problems/combinations/ Combinations - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Think 이번에도 영상을 보자..~ https://www.youtube.com/watch?v=q0s6m7AiM7o Solution 1. 파이썬 답게,, 라이브러리를 사용하는 풀이 class Solution(object): def combine(self, n, k): """ :type n: int :type k:..
Think 나 왜 이렇게 재귀만 나오면 머리가 멈출까?...... 책 풀이만으로는 이해가 안되어서 영상 찾아봤다 https://www.youtube.com/watch?v=0snEunUacZY 코드에서 len(path)와 len(digits)의 값이 같을 때 깊이 탐색을 멈추고 백트래킹을 한다는 말이 이해가 안 갔는데 이번에도~ 영상 속 그림을 보고 한방에 이해 됐다 digit이 두개니까 지금 탐색중인 path의 길이가 두개이면 끝까지 갔다는 얘기 -> 백트래킹! 지금까지 따라온 경로 = 문자열 하나 인 path를 결과 배열에 저장하고 return 으로 한꺼풀 빠져나온다. Solution class Solution(object): def letterCombinations(self, digits): """ ..
https://leetcode.com/problems/jewels-and-stones/ Jewels and Stones - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Think 오늘 푼 것 중에 제일 할 만 했던 것 같다^^..! 문제도 귀여웠음 보석찾기 해시테이블에 존재하는 키 값을 찾을 때 딕셔너리 자료형의 무슨 메서드가 있는지부터 고민했는데 단순히 in 연산자로 해결..~ 파이썬에 더 익숙해지는 과정이 필요할 듯 Solution class Solutio..
https://leetcode.com/problems/design-circular-queue/ Design Circular Queue - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Think 왜 시작을 못하겠지? 경험이 부족함을 느꼈다 앞부분을 참고해서 적고나니 뒷부분은 얼추 구현해볼 수 있었다 공부하자!! 그리고 파이썬은 모든 내장 변수에 self를 붙여야 하는 점이 너무 불편하고 가독성도 안 좋은 것 같다 하지만 어쩌겠어 내가 고른 길인걸~~ 사람은 적응..
https://leetcode.com/problems/implement-stack-using-queues/ Implement Stack using Queues - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Think 뭘로 뭘 구현해라..라는 문제 형식 자체가 낯설어서 읽어보는 것만으로 공부였던 문제 뭘 써서 구현해야 할 지도 몰랐다 ㅋㅋㅋㅋ...~ 게다가 deque도 모르고~ 그리고 리트코드에서 적어둔 코멘트들 읽으면서 풀 것.. 문제 좀 읽어라 Soluti..
https://leetcode.com/problems/remove-duplicate-letters/ Remove Duplicate Letters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Think 재귀는 많이 연습해야 겠다.. 함수 만들어서 재귀로 푸는 거에 쫄지 말기. 스택으로 푸는 법도 다시 풀어보기. Solution 1. 재귀 class Solution(object): def removeDuplicateLetters(self, s): """ :ty..
Think 역순 연결 리스트 2번째 문제. 전에 봤던 206. 역순 연결 리스트도 완벽히 이해하지 못한 상황이라 206번을 설명해주는 영상을 찾아 보고 왔다. 이해가 훨씬 잘 됐다! 반복과 재귀 두 방법 모두.. 그림이 역시 짱이다 https://www.youtube.com/watch?v=G0_I-ZF0S38 206번 풀이했던 내용을 바탕으로 이번 문제는 스스로 풀어보자 반복이 재귀방법보다 공간복잡도도 더 낮고 시간도 짧다. 반복으로 풀어보자 . . . 절반밖에 못풀었다^^! 영상을 찾아봤다! 같은 채널에서 올린 영상이 있었고 이해가 역시 잘 됨... https://www.youtube.com/watch?v=RF_M9tX4Eag 이 문제에서는 주어진 연결리스트의 맨 앞 head노드를 가리키는 root노드..
Think 혼자 풀기 실패 풀이 설명을 읽는데 이해가 안됨 리트 코드 solution탭을 살펴봤는데 아래 그림 보고 설명 바로 이해함!! Solution 투 포인터 사용 class Solution(object): def trap(self, height): """ :type height: List[int] :rtype: int """ #빈 인풋값이 들어왔을 경우를 처리 if not height : print(0) left = 0 right = len(height) - 1 #포인터 0부터 시작 left_max, right_max = height[left], height[right] volume = 0 while left < right : #서로 만나기 전까지 실행 #왼, 오 최댓값을 현재값과 비교해 갱신 l..
· Git
직전 커밋 메세지를 수정해보자. 이미 푸시했더라도 괜찮다! //직전 커밋 확인 한번 하고 git log //커밋 메세지를 덮어쓰기 한다 git commit --amend -m "새로 작성한 커밋메세지" //원격 레포에 올린 직전 커밋을 무시하고 로컬의 내용으로 덮어쓴다. git push -f origin 브랜치명 끝~~
· Spring boot
Spring Boot 에서 JPA를 사용해서 자동을 테이블을 생성하기 위해 create-drop 을 사용했다 에러 o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "..." org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "..." 원인 여러가지 원인이 있다고 나왔는데 나 같은 경우에는 Entity를 구성하는 코드 중에 SQL 예약어가 있었다 최신 날짜를 의미하려고 update라는 컬럼을 사용하려고 했다; ㅋㅋㅋㅋ 어쩐지 다른 테이블들은 잘 생성되는데 한..
참고가 되었던 사이트들 메모 https://jhkimmm.tistory.com/m/16 [Android/Kotlin] retrofit2 헤더 추가하기 안드로이드에서 API 요청을 보낼때는 주로 retrofit2 라이브러리를 사용합니다. 토큰과 같은 정보들은 Request의 헤더에 포함되어서 서버로 전달되어야 하므로 헤더를 추가하는 방법을 알아보겠습니 jhkimmm.tistory.com https://salix97.tistory.com/233 [Android] 안드로이드 - OkHttp Interceptors 레트로핏을 사용할 때, OkHttp Interceptor 를 같이 사용하면 편리하다고 한다. 인터셉터는 호출을 모니터링하거나, 재작성 및 재시도 할 수 있는 매커니즘. 나는 이런식으로 HeaderIn..
Multiplexing 다중화 : 제한된 대역폭의 효율적 사용을 위함 FDM 주파수 분할 다중화 WDM 파장 분할 다중화 TDM 시분할 다중화 SS Spectrum Spreading 스펙트럼 확장 : 프라이버시와 방해전파 방지를 위함 FHSS 주파수 홉핑 스펙트럼 확산 DSSS 직접 순서 확산 1. 다중화 (n→1, mux) 한 링크로 여러 기기가 동시 전송하기 위한 기술 MUX, DEMUX 1) FDM Frequency-Division Multiplexing 주파수 분할 다중화 여러 아날로그신호 합성 → 하나의 아날로그 신호 전송되는 신호들의 대역폭 합계 < 링크 대역폭 일 때 가능 각 기기의 신호를 모두 다른 반송주파수로 변조 후 복합신호로 합침! 반송주파수들은 보호대역을 사이에 둠. 원래 데이터와 ..
3. 디지털 대 아날로그 변조 디지털 정보를 아날로그로 변조해 전송 modem 이용 공중전화 교환망(PSTN) 등의 아날로그 통신망으로 디지털 데이터를 보낼 때 사용 변조 & 복조 기능 자동응답(연결 요청 신호 수신 시), 자동호출(수신자가 응답없을 시 여러번 재호출 시도), 자동 속도조절 기능 변조 & 복조 : 무언가를 아날로그 반송신호 주파수로 변환하는 것, 다시 원래 정보로 변환하는 것 아날로그 신호의 장거리 전송을 위해 반송파(채널에 적합한 주파수와 진폭을 가진 정현파)에 실어 보냄 용어 복습 비트율 N = 초당신호수(보오율B)S * 신호당비트수r 신호당비트수r = log_2 신호요소수 보오율(초당신호수)B 반송파 신호(반송주파수, 반송파, Carrier Signal, Carrier Frequen..
1. Digital-to-Digital Encoding 디지털 정보를 디지털로 변환하여 전송 변환방법 Line Coding 회선 부호화 → 항상 필요 Block Coding 블록 부호화 Scrambling 뒤섞기 1) Line Coding 회선 부호화 디지털 정보 → 디지털 신호 직류 성분(DC component) 제거 필요 자기 동기화 필요 데이터 요소 : 디지털 데이터를 나타내는 기본 단위(비트) 신호 요소 : 디지털 신호의 기본 단위 (준위느낌?) 데이터 전송률N : 1초당 전송된 비트 수(비트율) 신호 전송률S : 1초당 전송된 신호요소의 수(보오율) S = c * N * 1/r 1/r = 비트당 신호수 *공식 신호전송률S ↓ , 데이터 전송률N ↑ 하는 것이 좋음! 적은 신호를 보내도 데이터는 ..
1. 데이터통신 (data communication) 규직(프로토콜)에 따라 두 장치 간 데이터로 표현되는 정보를 교환하는 과정 ICT 분야의 서비스 구조 CPND : Contents(Resource) - Platform(Market) - Network(Infra) - Device SPND : Service - ‘’ 기초용어 시스템, 인터페이스, 전송매체, 프로토콜, 네트워크, 인터넷 노드(인터넷에 연결된 시스템들)/호스트(컴퓨팅기능)/클라이언트/서버(상대적개념) 데이터통신의 특성 파형난조(jitter) : 패킷도착시간의 차이로 품질이 일정치 않음 ... 구성요소 전송매체 : 송신자에서 수신자까지 이동하는 물리적인(!) 경로 ... 흐름방향 단방향(simplex mode) : 한쪽 방향으로만. a는 송신..
돌래씨
삼시세코