공부하고 기록하는, 경제학과 출신 개발자의 노트
반응형

분류 전체보기 565

JVM Garbage Collection 정리

Garbage Collection (JDK 11 기준) Application의 동적 메모리 관리를 자동으로 수행하는 JVM 프로그램을 의미한다. Garbage는 "실행중인 프로그램의 어느 포인터로도 접근할 수 없는 객체"를 지칭한다. GC는 기본적으로 아래 네 단계를 거쳐 작업을 수행한다. 운영체제로부터 메모리를 할당받거나 반납한다. 메모리를 요청하는 프로르램에게 메모리를 할당한다. 애플리케이션이 사용하고 있는 / 사용하고 있지 않는 메모리 영역을 파악한다. 사용하지 않는 메모리 영역을 회수한다. 프로그래머가 메모리 관리를 직접 할 필요가 없다는 점에서 유용하고, 프로그래머가 메모리 관련해서 전혀 신경쓰지 않아도 자바 프로그램이 문제 없이 동작하는 경우도 많다. 하지만 프로그램의 규모가 커질 경우 "어떤..

[Python] 프로그래머스. 쿼드압축 후 개수세기

programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 분할정복 문제. 백준 2630번 "색종이 만들기"와 정확히 똑같은 문제. 리턴 형식까지도 동일하다. www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에..

JVM의 메모리 구조 및 할당과정

JVM 구조 JVM은 다섯 가지 컴포넌트로 구성되어 있다. 클래스 로더 시스템 : 컴파일 결과로 만들어진 .class 바이트코드 파일을 읽어들여 메모리에 배치. 로딩, 링크, 초기화 세 가지 과정을 거친다. 메모리 Runtime Engine: 바이트코드를 읽어들이는 인터프리터가 작동하는 영역. 바이트 코드를 기계어로 변환하면서 Line by Line 실행하는 방식. 여기 인터프리터가 기계어 코드를 실행할 때, 한 번 변환한 바이트코드를 또 변환하는 대신 실행한 코드를 저장하는 영역이 있다. 그게 Code Cache (JIT Compiler라고도 부른다). 프로그램 실행속도를 향상시키는 용도. Garbage collection. Native Method interface Native Method libra..

[Python] 프로그래머스. 3진법 뒤집기

programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 단순구현 문제. 진법 변환하는 원리만 알면 풀 수 있다.

[Python] LeetCode 15. 3Sum

leetcode.com/problems/3sum/submissions/ 3Sum - 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 리스트에서 "합쳐서 0이 되는 세 숫자의 조합"을 리스트로 저장해 반환하는 문제. combinations로 모든 경우의 수를 조사할 경우 timeout이 발생한다. 투 포인터로 해결할 수 있는 문제. cf. 이 코드는 아래의 책을 참고했습니다. 파이썬 알고리즘 인터뷰 국내도서 저자 : 박상길 출판 : 책만 2020.07.15 상세보기

[Python] 프로그래머스. 줄 서는 방법 (Level 3)

programmers.co.kr/learn/courses/30/lessons/12936 코딩테스트 연습 - 줄 서는 방법 n명의 사람이 일렬로 줄을 서고 있습니다. n명의 사람들에게는 각각 1번부터 n번까지 번호가 매겨져 있습니다. n명이 사람을 줄을 서는 방법은 여러가지 방법이 있습니다. 예를 들어서 3명의 사람 programmers.co.kr 수학응용이 약간 필요한 문제. 모든 경우의 수를 조사하는 permutations를 쓰면 시간초과가 난다. n이 20 이하이므로 최대 2.4 * 10^18 의 개수가 나오는데, 이걸 permutations로 리스트 변환하는 것이 불가능하기 때문. 사전순 배열에서 k번째 위치 값만 리턴하면 되므로, k번째 값에 근접하도록 '생성할 수 있는 경우의 수'로 나누면 된다..

[Python] 프로그래머스. JadenCase 문자열 (Level 2)

programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr 파이썬이 문자열 처리에서 강력한 이유. 문자열 내장함수 capitalize()를 사용하면 된다. 단, 주어지는 문자열에 여러 개의 공백이 입력으로 주어진 경우가 존재할 수 있다. 예컨대 "manner makes Man" 같은 문자열. 이런 문자열은 문자열 공백 개수를 그대로 유지한 채 리턴해야 한다. 따라서 split..

[Python] 프로그래머스. 풍선 터트리기 (Level 3)

programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 어떻게 접근해야 할지 모르겠어서, 다른 블로그의 풀이를 참고했다. velog.io/@pss407/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A468646-%ED%92%8D%EC%84%A0-%ED%84%B0%ED%8A%B8%EB%A6%AC%EA%B8%B0 [프로그래머스]#68646 풍선 터트리기 문제일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 ..

[Python] 프로그래머스. 삼각 달팽이 (Level 2)

programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr dyndy.tistory.com/82 실력키우기 달팽이삼각형(JAVA) 1337 : 달팽이삼각형 제한시간: 1Sec 메모리제한: 64mb 해결횟수: 409회 시도횟수: 762회 삼각형의 높이 N을 입력받아서 아래와 같이 숫자 0부터 달팽이 모양으로 차례대로 채워진 삼각형 dyndy.tistory.com 이곳의 풀이를 참고했다. 1. n * n 크기의 2d 리스트를 생성한다. 2. 이..

Architecting with Google Compute Engine - Design Process ch1. Defining Service

Design and Process 실제로 How to start, utilize a design and process the follows the best practices. 강의 구성 Lecture, introducing architect concepts and principles. Application of those principles to a real world design Related application problem. Compare it with standard solutions Lecture 1. Defining the Service Overview Automated Deployments are the foundation of SRE and design process. 강의보다는 lab ..

반응형