본문 바로가기

반응형

분류 전체보기

(149)
[백준] 랜선 자르기 백준, 랜선 자르기 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net TL;DR 이진 탐색(Binary Search) Parametic search 문제 요약 1. 랜선의 길이가 주어지고 해당 랜선을 잘라 만들어야 하는 랜선의 개수가 주어진다. 2. 만들어야 하는 랜선의 개수를 만족할 수 있는 경우 중 가장 긴 랜선의 길이를 반환하는 프로그램을 작성해야 한다. 3. 주어진 랜선의 개수를 초과해서 만들 수 있다. - 주어진 랜선의 길이를 잘라 만든 랜선의 개수가 주어진 랜선의 개수 이..
가상화폐 자동거래 프로젝트 회고 2021년 7월 22일부터 10월 3일까지 프론트엔드 개발자로 참여한 프로젝트의 회고를 적어본다. 프로젝트 저장소 보러가기 GitHub - 201411108/Coin_Auto_Trading: PybithumbAPI를 이용한 코인 자동매매 웹사이트 PybithumbAPI를 이용한 코인 자동매매 웹사이트. Contribute to 201411108/Coin_Auto_Trading development by creating an account on GitHub. github.com 시작 계기 한창 더운 여름의 어느 날. 같이 취업 준비를 위한 코딩 테스트를 공부하던 동기 형으로부터 쟝고(Django)를 사용한 백엔드 프로젝트를 하려고 한다는 얘기를 들었다. 당시 나는 프론트엔드 직무를 위주로 여러 기업들에 지..
[프로그래머스] 순위 검색(python) Programmers, 순위 검색 2021 KAKAO BLIND RECRUITMENT(2021년 카카오 공개 채용) TL;DR 구현(implementation) 이진 탐색(Binary search) 문제 요약 1. info에 지원자가 작성한 4가지 정보와 코딩 테스트 정보가 문자열로 구성된 배열이 주어진다. 2. query에 개발팀에서 궁금해하는 문의 조건이 문자열로 구성된 배열이 주어진다. 3. 개발팀이 궁금해하는 조건에 맞는 지원자의 수를 배열에 담아 반환하는 함수를 작성한다. 4. 개발팀이 궁금해하는 조건에서 '-'는 해당 조건을 고려하지 않는다는 뜻이다. 5. 문제의 경우 정확성과 효율성 평가가 포함되어 있다. - 지원자들이 작성한 조건과 코딩 테스트에서 개발팀이 원하는 조건에 해당하는 사람이 몇..
[리트코드] Binary Search(python) LeetCode, Binary Search(이진 탐색/검색) TL;DR 이진 탐색(Binary Search) 문제 요약 1. 오름차순으로 정렬된 유일한 원소를 갖고 있는 정수 배열 nums와 정수 target이 주어진다. 2. 주어진 nums와 target에 대해서 target이 nums에 존재하는지 찾는 함수를 작성하라. 3. 만약 target이 존재한다면 해당 인덱스를 반환하고, 존재하지 않는 경우에는 -1을 반환한다. 4. 시간 복잡도는 반드시 O(logn)이 되어야 한다. - 오름차순으로 정렬된 배열과 찾아야 하는 정수, O(logn)의 시간복잡도를 통해 Binary search를 통해 문제를 해결해야 함을 알 수 있다. (정렬된 배열, O(logn)의 시간복잡도는 Binary search의 대표..
[프로그래머스] 최소 직사각형(python) Programmers, 최소 직사각형 프로그래머스 위클리 챌린지 8주차 TL;DR 배열(리스트, list/array) 구현(implementation) 문제 요약 1. 다양한 크기의 명함들을 모두 수납할 수 있으면서 작아서 들고 다니기 편한 명함 지갑을 만들어야 한다. 2. 조사된 명함의 크기들을 모두 넣을 수 있으면서도 가장 작은 지갑의 크기를 반환하는 함수를 작성해야 한다. 3. 명함의 경우 가로로 눕혀서 수납할 수 있다. - 가로와 세로 길이가 다른 명함의 크기가 조사된다. 이 때, 명함은 가로로 눕혀서 지갑에 넣을 수 있다. 이 말인 즉슨, 가로로 눕힌 명함. 즉, 주어진 가로의 길이와 세로의 길이를 반대로 했을 때도 조사해야 한다는 것이다. - 나는 이 문제를 모두 가로로 눕혔다고 가정하여 가로..
[프로그래머스] 튜플(python) Programmers, 튜플 2019년 카카오 개발자 겨울 인턴십 TL;DR 문자열(string) 문제 요약 1. 특정 튜플을 표현하는 집합이 담긴 문자열 s에 대해서 s가 표현하는 튜플을 배열에 담아 반환하는 함수 작성 - 중복된 원소가 없고 순서가 정해져있는 튜플에 대해서 튜플의 원소로 만들 수 있는 부분 집합들이 문자열의 형태로 주어진다. - 주어진 문자열들을 사용하여 본래 튜플을 찾아 반환하는 함수를 작성하면 된다. - 문제의 예시를 살펴보면 문제 해결 방법을 알아낼 수 있다. 입출력 형태 문제에서 설명한 것과 같이 튜플은 원소의 순서 또한 일치해야 동일한 튜플이라고 할 수 있다. 예시 1 :: 주어진 문자열이 {2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}를 나타내고 있고 정답..
[프로그래머스] 카펫(python) Programmers, 카펫 TL;DR 완전 탐색 문제 요약 1. 테두리가 갈색, 나머지 부분이 노란색으로 칠해져있는 카펫에 대해 노란색과 갈색의 각 격자의 크기의 수는 기억하고 있지만 전체 카펫의 개수는 기억하지 못한다. 2. 갈색과 노란색의 격자 개수를 통해 카펫의 가로, 세로 크기를 배열에 담아 반환한다. 3. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 길다. - 문제가 요구하는 카펫의 크기는 다양한 경우 중 최대한 정사각형에 가까운 크기를 반환해야 한다. - '테두리가 갈색으로 이루어져 있다'가 문제 해결의 가장 큰 힌트이다. - 테두리가 갈색으로 이루어져 있기 때문에 노란색의 가로와 길이는 전체 카펫의 길이보다 2씩 작다.(왼쪽-오른쪽, 위-아래) - 노란색의 크기가 될 수 있는 가..
[프로그래머스] 이진 변환 반복하기(python) Programmers, 이진 변환 반복하기 TL;DR 문자열(string) 구현(implementation) 문제 요약 1. 0과 1으로 이루어진 문자열에 대해 다음과 같은 이진 변환을 s가 1이 될 때까지 반복한다. 1-1. x의 모든 0을 제거한다. 1-2. 0이 제거된 x의 길이를 c라고 한다면 x를 c를 2진법으로 표현한 문자열로 바꾼다. 2. s가 1이 될때까지 반복된 이진 변환 횟수와 제거된 0의 개수를 반환한다. - 주어진 문자열이 1이 될 때까지 문제에서 요구하는 조건을 반복실행한 결과를 반환하면 된다. - 숫자를 2진법으로 바꾸는 `bin()` 메소드를 사용하여 문제를 풀 수 있다. 입출력 형태 예시 1 :: 예시 1의 문제를 문제에서 주어진 조건으로 해결하면 아래와 같다. 1. 0을 제..