분류 전체보기

    탐욕법 (greedy) 이란?

    Greedy란? 카테고리가 탐욕법이라고 되어있는데, 이 탐욕법에 대해서 먼저 알아보자. 탐욕법이란 DP(Dynamic Programming)과 상호보완하며 사용되는데, 이번에는 탐욕법에 대해서만 알아보자. 탐욕법이란 기본적으로 현재의 최선을 반복해서 선택하는 해결방법이다. 아래의 이미지를 한번 살펴보자 위의 트리에서 실제 가장큰수는 99이다. ,하지만 탐욕법으로 하면 가장큰수는 12 이다. 왜냐하면 탐욕법은 첫번째 분기에서 1과 9중에 큰 9를 고르고, 그다음에는 3과 12중에 12를 고르기 때문이다. 이렇듯이 탐욕법은 최선의 해결법이 되지는 않지만, 빠른 결과를 산출해 낼수있는 장점이 있다. 탐욕법의 적절한 예 탐욕법의 적절한 사용순간은 언제일까? 탐욕스러운 선택 조건(Greedy choice prop..

    [프로그래머스]-lv.1 체육복

    탐욕법 (greedy) 이란? Greedy란? 카테고리가 탐욕법이라고 되어있는데, 이 탐욕법에 대해서 먼저 알아보자. 탐욕법이란 DP(Dynamic Programming)과 상호보완하며 사용되는데, 이번에는 탐욕법에 대해서만 알아보자. 탐욕법이 burning-camp.tistory.com 아래의 풀이를 보기전에 위의 탐욕법 알고리즘을 먼저 보고 오시면 이해가 빠릅니다! 문제설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있..

    [프로그래머스] - lv.1 이상한문자 만들기

    문제설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return try hello world TrY HeLlO WoRlD 입출력 예 설명 try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, ..

    [우수사원 수상] 엄마 나 상탔어!

    늦게 올리는 감이 있지만, 그래도 자랑해봅니다! 작년 한해동안 많은 지각변동이 있었던 개발팀에서 흔들리는 경험도 많았습니다. 수시로 달라지는 멤버들 사이에서 바뀌는 개발스택들에 치이며 많은 모자름도 꺠우쳤던 시간들이었습니다. 하지만, 그럼에도 머리속 담아두고 있던 말은 '1인분 밥값은 하자'라는 생각으로 업무를 진행하여 애썼습니다. 그 과정에서 떄로는 백앤드개발을 홀로 도맡아서 하며 리딩을 했어야 할때도 있었습니다. 덕분에 바뀌는 비지니스에서 애자일하게 개발하며 MVP로 CAPA라는 새로운 서비스를 세상에 내놓는 과정에서 개발뿐만 아니라 비지니스 그 자체에 대해 배우고, 개발자로서 단순히 코드를 짜는게 아닌 왜 이게 필요하고 추가해야 하는 작업인지 깊게 이해하며 일할수 있는 경험이 있었습니다. 그렇기에 ..

    [leetcode] 136. Single Number 해설

    136. Single Number https://leetcode.com/problems/single-number/ Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory? Example 1: Input: nums = [2,2,1] Output: 1 Example 2: Input: nums = [4,1,2,1,2] Output: 4 Example 3: Input: nums = [1] ..

    [leet code]169. Majority Element (최다 요소)

    https://leetcode.com/problems/majority-element/ Given an array nums of size n, return the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array. Example 1: Input: nums = [3,2,3] Output: 3 Example 2: Input: nums = [2,2,1,1,1,2,2] Output: 2 이 문제는 배열내의 최대다수 를 구하는것이 문제이다. 여기서 중요한점은 The majority ..

    좀 많이 늦은 2020년 회고록

    🥇처음인 한해 2020년은 나에게 처음 이라는 단어로 표현될것 같다. 그만큼 한해동안 정말로 많은 처음들이 산재해 있었다. 2019년 에는 첫 직장생활이었기에 다양한 직장생활에 적응하는데 많은 시간을 쓰느라 정신없이 지나갔다고 하면 올해는 계속해서 변화하는 환경과 새로운것들과 계속 싸워온것 같다. 2019년이 끝나는 그떄 스스로 생각하기를 나는 정말 아무것도 모르는 개발자 라고 생각했다. 다만 2020년에 들어설때에는 그래도 한해동안 배웠기에 조금은 더 알고있다고 생각했지만 연말이 되어있는 지금 즈음 깨닳은것은 여전히 많은것을 모른다는 생각과 부족한 부분들을 더 많이 발견했던 시간들 이었던것 같다. 하지만, 그만큼 나의 부족한 부분을 많이 깨닳았고, 그렇기에 더 노력하고 배워야겠다는 생각을 가지게 되었다..

    [도커 노트 #2] 컨테이너 사용해보기

    이전글 먼저 보기 도커란? burning-camp.tistory.com/56 도커 사용하기 도커는 하나의 실행파일이지만 실제로는 서버와 클라이언트 역할을 각각할수 있습니다. 무슨 말이냐면 커멘트를 입력하면 도커 커맨드를 도커 클라이언트가 도커 서버로 전송하고 결과를 받아서 출력을 해줍니다. 컨테이너 실행하기 docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 먼저 우분투 컨테이너를 생성하고 해당 컨테이너 내부에 들어가 보겠습니다. docker run ubuntu:16.04 이 경우 아무런 반응이 없는것 처럼 보입니다. 그것은 실행이 되었지만 해당 컨테이너에 실행을 하라는 명령어를 전달하지 않았기 때문에 생성과 동시에 종료 됩니다. 여기서 중요한점이 ..