분류 전체보기

    부대복귀 - 파이썬(Python)

    문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 강철부대의 각 부대원이 여러 지역에 뿔뿔이 흩어져 특수 임무를 수행 중입니다. 지도에서 강철부대가 위치한 지역을 포함한 각 지역은 유일한 번호로 구분되며, 두 지역 간의 길을 통과하는 데 걸리는 시간은 모두 1로 동일합니다. 임무를 수행한 각 부대원은 지도 정보를 이용하여 최단시간에 부대로 복귀하고자 합니다. 다만 적군의 방해로 인해, 임무의 시작 때와 다르게 되돌아오는 경..

    괄호 회전하기 - 파이썬(Python)

    문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다..

    미로 탈출 - 파이썬(Python)

    문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 ..

    무인도 여행 - 파이썬(Python)

    문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 메리는 여름을 맞아 무인도로 여행을 가기 위해 지도를 보고 있습니다. 지도에는 바다와 무인도들에 대한 정보가 표시돼 있습니다. 지도는 1 x 1크기의 사각형들로 이루어진 직사각형 격자 형태이며, 격자의 각 칸에는 'X' 또는 1에서 9 사이의 자연수가 적혀있습니다. 지도의 'X'는 바다를 나타내며, 숫자는 무인도를 나타냅니다. 이때, 상, 하, 좌, 우로 연결되는 땅들은 하..

    호텔 대실 - 파이썬(Python)

    https://school.programmers.co.kr/learn/courses/30/lessons/155651# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다. 예약 시각이 문자열 형태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 1 ≤ book..

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 8)

    CH.8 스타일 가이드와 규칙 대부분의 엔지니어링 조직에는 내부 코드베이스를 관리하는 규칙이 있고 구글도 마찬가지다. 프로그래밍 스타일 가이드를 통해 코딩할 때 따라야 하는 혹은 하지 말아야 하는 규칙을 모아서 정리했으며 프로그래밍 언어별로 관리한다. 8.1 규칙이 필요한 이유 목표는 '좋은' 행동을 장려하고 '나쁜'행동을 억제하기 위함이다. '좋은'과 '나쁜'의 해석은 조직마다 차이가 있으며 따라서 조직이 가장 먼저 추구하는 가치를 파악한 뒤, 규칙과 지침을 정해야 한다. 8.2 규칙 만들기 목표에 집중하면 규칙이 따라온다. 8.2.1 기본 원칙 안내 모든 조직에 필요한 가치는 규모와 시간 양쪽 측면에서 탄력적인 엔지니어링 환경이 지속되도록 하는 것이다. 이런 배경에서 목표는 개발 환경의 복잡도를 관리..

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 7)

    CH.7 엔지니어링 생산성 측정하기 소프트웨어 엔지니어링 측면에서 엔지니어링 생산성 자체에 집중하는 전문가팀을 별도로 꾸려두면 회사 성장 과정에서 아주 중요하고 값진 통찰을 얻을 수 있다. 7.1 엔지니어링 생산성을 측정하는 이유 사업을 키운다는 건 소통 비용이 증가한다는 것을 의미한다. 이를 개개인의 생산성을 높이는 것으로 소통 비용 증가를 억제할 수 있다. 생산성을 늘리기 위해서는 엔지니어링 프로세스에서 비효율적인 부분을 찾아 고쳐야 한다. 하지만 개선 사이클 자체를 만들고 관리하는 데도 인력이 투입된다. 구글은 엔지니어링 생산성을 이해하기 위한 전담 연구팀을 꾸려 이 ㅌㅌ트레이드오프에 대응했다. 우선 문제를 분류하는 일부터 시작한다. 예시: 가독성 프로세스 7.2 선별: 측정할 가치가 있는가? 생산..

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 6)

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 6)

    CH.6 성장하는 조직 이끌기 팀 하나를 이끌게 되었다면 연관된 여러 팀을 이끄는 게 자연스러운 흐름이다. 훌륭한 리더로 성장하기 위해서는 다음이 필요하다. 3A 리더십: 늘 결정하라(Always Be Deciding), 늘 떠나라(Always Be Leaving), 늘 확장하라(Always Be Scaling) 6.1 늘 결정하라(Always Be Deciding) 여러 팀으로 구성된 팀을 관리한다 = 기존보다 높은 수준에서 더 많은 걸 결정해야 한다 6.1.1 비행기 일화 트레이드오프에 관한 일화. 리더의 역할은 '나무들 사이로 숲 전체를 보면서' 목표한 중요 나무까지로 가는 길을 찾아 엔지니어들을 안내해주는 것이다. 이 과정은 세 단계로 나뉜다. 먼저 '눈가리개'를 찾아내고, '트레이드오프'들을 파..

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 5)

    CH. 5 팀 이끌기 리더가 없다면 엔지니어들은 값진 시간을 허비할지도 모른다. 이번 장의 주제는 사람 관리와 기술 리더십이지만, 개인 기여자에게도 좋다. 리더를 이해하는데 도움이 될 것이기 때문에 5.1 관리자와 테크 리드(혹은 둘 다) 5.1.1 엔지니어링 관리자 팀의 구성원 모두의 성과, 생산성, 행복을 책임 져야 한다. 5.1.2 테크 리드 제품의 기술적인 면, 즉 기술과 관련한 결정과 선택, 아키텍쳐, 우선순위, 성능과 일반적인 프로젝트 관리를 책임진다. 5.1.3 테크 리드 매니저 소규모의 초기 팀에서는 기본적으로 테크 리드 매니저를 두는 경우가 많다. 인적, 기술적 요구를 혼자 관장한다. 5.2 개인 기여자에서 리더로 리더십의 장단점을 이해하느냐 못하느냐는 업무의 방향에 지대한 영향을 준다...

    [IT 도서 리뷰] 구글 엔지니어는 이렇게 일한다 (CH. 4)

    CH.4 공정 사회를 위한 엔지니어링 소프트웨어 엔지니어링 분야는 아직 새롭기 때문에 사회적 약자나 다양한 문화권에 미치는 영향을 이해해가는 중이다. 가장 취약한 고객들을 보호하지 못한 실패 사례를 구글도 많이 가지고 있으며 그래서 더 공정한 제품을 만드려고 노력한다. 4.1 편견은 피할 수 없다 사용자의 국적, 민족, 인종, 성별, 연령, 사회 경제적 위치, 장애 여부, 신념 체계 등에 신경 쓰지 않는다면 가장 우수한 엔지니어라 할지라도 의도와 달리 사용자에게 피해를 줄 수 있다. 구글의 엔지니어는 대부분 남성이고, 백인 혹은 아시아인이라서 모든 커뮤니티를 대변하지 못하는 게 사실이다. 예시 - 이미지 인식 4.2 다양성이 필요한 이유 이해하기 구글은 뛰어난 엔지니어가 되려면 제품 설계와 구현에 다양한..