일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- Markdown
- 그리디
- 백준
- 시뮬레이션
- BFS
- g1gc
- 분할정복
- 정수론
- 회고
- deque
- 문제풀이
- Greedy
- 마크다운
- 배열 돌리기1
- GarbageCollector
- 적정 스레드
- 몬티홀
- 스레드
- 그래프탐색
- Python
- 면접복기
- 이진탐색
- 브루트포스
- 그래프 탐색
- Stack
- GC
- DP
- 프로세스
- 구현
- Today
- Total
목록전체 글 (63)
FeelingXD
이 글에서는 가상화 종류인 Docker에 대해서 작성합니다. Docker Docker는 Docker , inc 가 개발중인 컨테이너 환경을 제공하기 위한 소프트웨어입니다. Docker는 애플리케이션이 움직이는 환경을 컨테이너라는 단위로 가상화하고, 이 컨테이너형 가상화 뿐만아니라 컨테이너의 베이스가 되는 이미지를 효율적으로 만드는(빌드) 기능과 이미지를 배포하기 위한 구조(Docker Hub)도 갖추고 있는 것이 특징입니다. 이 글에서는 Docker의 구조 특히 컨테이너형 가상화와 이미지에 관한 부분을 간단하게 설명합니다. VM 과 Docker Docker가 제공하는 가상화의 큰 장점은 효율성입니다. 이 효율성은 도커가 컨테이너 형식의 가상화를 제공하기 때문에 실현되는것인데 지금까지 사용되었던 기타 가상..
❓ Problem 문제링크 🤔 How 중요한 포인트는 다음과 같다. 펠린드롬이라면 2 , 유사 펠린드롬이면 1, 둘다 아니라면 0을 반환한다. 유사펠린드롬은 문자 하나를 제거한뒤에 펠린드롬이 되는경우이다. 투포인터를 이용해 펠린드롬을 탐색하는 방법으로 접근했다. 그후 맞지않는 같은 단어가 아닌걸 발견하게 된다면 해당문자를 지우고 펠린드롬인지 확인하는 방법이다. 이때 좌측문자, 우측문자 두개가 있으므로 둘중 하나를 제거하여 펠린드롬 여부를 확인해야하는데 이때는 각단어 자리를 없에서 만든 새로운 문자가 펠린드롬인지 확인해준다. (slicing 을 이용하여 간단하게 새로운 문자열을 만드는 방법을 사용했다.) ❗ Solve # 회문 import sys input = sys.stdin.readline def ch..
❓ Problem 문제링크 🤔 How 그래프 탐색문제 로 분류되고 100칸에 가장 빨리가는경우를 찾는것이다. 뱀과 사다리를 만날경우 반드시 이동한다 이점을 놓지기 쉬운데 뱀과 사다리를 만나서 visited 체크를 하고 넘기는 방법으로 접근한다면 뱀 (혹은 사다리) 시작지점에서 멈추는 경우도 계산해버리게 된다. (예를들어 2->16 으로가는 사다리가있다면 사실상 2번은 방문처리 할 수없다.) ❗ Solve # 뱀과 사다리 게임 import sys from collections import deque, defaultdict input = sys.stdin.readline def solution(): global visited, board, snake_and_stair N, M = map(int, input(..
몬티홀 문제(monty-hall problem) Suppose you’re on a game show, and you’re given the choice of three doors. Behind one door is a car, behind the others, goats. You pick a door, say #1, and the host, who knows what’s behind the doors, opens another door, say #3, which has a goat. He says to you, "Do you want to pick door #2?" Is it to your advantage to switch your choice of doors? 당신이 한 게임 쇼에서 3개의 문 중에..
Stream 이 글에서는 Java 8 에서 추가된 Java 의 Stream 에 대해서 다룹니다. 스트림 ? 🤔 Java 오라클 공식문서에서 다음과 같이 Stream 을 설명합니다. [!NOTE] A sequence of elements supporting sequential and parallel aggregate operations. [!NOTE] 순차 및 병렬적인 집계연산을 지원하는 연속 된 요소 라고 표현하고 있습니다. 배열, 집합등 특정 집단의 연속적인 데이터의 흐름 으로 생각하면 좋을것 같습니다. 스트림은 어떻게 동작할까? 스트림은 다음과 같은 프로세스를 따른다 생성 (Create Stream) 스트림을 생성할 데이터 풀에서 스트림을 만드는과정이다 데이터풀은 Arraylist, set등 데이터 ..
❓ Problem 🤔 How 방을 생성하는 조건 방을 순회하여 입장할수 있는 적합 한 방이없을경우 현재플레이어를 방장으로하는 새로운 방을 만든다. 적합한 방의조건 현재 플레이어와 방장의 레벨차가 10 이하인 경우 방이 최대인원수보다 적은경우 갱신 여부를 체크하는 변수를 두어서 현재 플레이어가 입장했을경우 새로운 방을 생성하지않고 적합한 방이없는경우 새로운방을 생성하도록한다. ❗ Solve # 랭킹전 대기열 import sys input = sys.stdin.readline START = "Started!" WAIT = "Waiting!" def print_rooms(rooms): """ 방을 순회하며 출력 플레이어 인원은 닉네임이 사전순으로 앞서는 플레이어를 출력해야함 """ for room in roo..
프로그래머들은 반대입니다. (Programmers are Contrary) 다른 분야로부터 배우면 당신은 이상해질 수 있습니다. 대부분 좋은 일이지만 때로는 마찰을 일으키기도 합니다. 예를 들어 , 예술가나 음악가, 작가들은 모두 같은 활동을 계속 반복하며 능숙해진다는 사실을 알고 있습니다. 다시 쓰는 것도 마찬가지입니다. 같은 음악을 반복해서 연습하는 것도 마찬가지입니다. 인물을 그리거나 정물화를 반복해서 그리는 것도 마찬가지입니다. 소프트웨어에도 이런 말이 있습니다. "바퀴의 재발명" 이 작업은 나쁜 일로 취급되어 부끄럽게도 은밀하게 이루어집니다. 우리는 모든 반복 작업을 컴퓨터에 맡기고 새로운 작업만 할 수 있는 방법을 찾습니다. 사실, 같은 일을 반복해서 말하는 것은 대중 앞에서 망신을 당하는 지..
이 글은 noah gibbs의 The Forty-Year Programmer 의 번역 본입니다. 오역,의역 혹은 번역이 어색한 부분이 있을 수 있습니다. 😅 기초에서 깊은 원리를 배울수 있습니다.(You Learn Deep Principles by Doing the Basics) 저는 사람들에게 처음부터 소프트웨어 설계의 깊은 원리를 배우라고 말하지 않습니다. 실무 경험 없이 이론으로만 배우려고 하면 거의 틀릴 가능성이 높기 때문입니다. 먼저 실제 언어로 사용 가능한 소프트웨어를 만드는 방법을 배워야 합니다. 어떤 언어든 상관없습니다. 진짜 실수를 경험해 보세요. 그런 다음 개인적으로 겪고 있는 문제를 해결하기 위해 어떤 이론이 존재하는지 이야기할 수 있습니다. 만약 여러분이 모듈화에 재능이 있는 것이 ..
이 글은 noah gibbs의 The Forty-Year Programmer 의 번역 본입니다. 오역,의역 혹은 번역이 어색한 부분이 있을 수 있습니다. 😅 일과 커리어을 혼동하지 마세요 (Don't confuse Work and Career) 저도 언젠가 은퇴하고 싶지않을까요 ? 그렇죠. 하지만 저는 일을 멈추지 않을거에요. 돈 때문에 싫어하는 일을 그만할거예요 특히 멋진걸 배울게 없다면 말이죠. 현재 YJIT에서 제가 하고있는작업은 돈을 받고 하고 있지 않습니다. 하지만 급여를 받지 않는다면 지출 보고서는 손도 대지 않을 것이고 상태 업데이트도 거의 작성하지 않을 것입니다. 시스템 관리자 업무나 Git 기록 정리도 훨씬 덜 할 것입니다. 일과 커리어를 혼동하지 마세요. 둘은 같은 것이 아닙니다..
이 글은 noah gibbs의 The Forty-Year Programmer 의 번역 본입니다. 오역,의역 혹은 번역이 어색한 부분이 있을 수 있습니다. 😅 아직 늦지 않았습니다.. (It's Early Yet) 배운게 쓸모없게된다면 어떠시겠습니까? 쓸모없다는건 상대적인겁니다. 저는 DGD라는 거의 모든분야에서 비주류인 MUD 프로그래밍 언어 에 꽤나 시간을 투자한 적이 있습니다. 그리고 그건 실용적인게 별로없었구요. 하지만 그일로 부터 많은걸 배울수있었습니다. 왜냐면 그게 이상해서요! 거기서 배운것으로 나중에 배우게된 루비온 레일즈에 도움이 되었고 database 프로그래밍 할때도 도움이 되었습니다. 실제로 db에관련한 내용을 배우거나 사용하진 않았지만 말이죠. 그일(MUD를 배운것) 은 나중에..
이 글에서는 파이썬의 namespace 에 대해서 알아봅니다. 🥕 파이썬의 네임스페이스 정의 🤔 파이썬 공식문서에서는 namespace를 다음과 같의 정의되어 있습니다. [!NOTE] namespace The place where a variable is stored. Namespaces are implemented as dictionaries. There are the local, global and built-in namespaces as well as nested namespaces in objects (in methods). Namespaces support modularity by preventing naming conflicts. For instance, the functions builtin..
Java의 Lang 패키지 👀 이 글에서는 자바의 java.lang 패키지에 대해 알아봅니다. Java 를 사용할때 우리는 정의한 클래스를 사용하기위해 별도로 import 를 통해서 사용하게됩니다. 그렇지만 String, Integer 등 우리가 정의하지않았지만 자바에서 기본 적으로 제공되는 이 클래스는 어디서 왔을까요 ? Java 의 lang 패키지 우리가 따로 import 하지 않고 사용하는 기본 자료형 이라고 불리는 이는 java 의 lang 패키지에 정의 되어 있습니다. Java 공식 자료에는 다음과 같이 작성되어 있습니다. java doucment 의 lang java.lang : Provides classes that are fundamental to the design of the Java ..