CS기초 23

스택과 큐

peek 메서드를 몰라서 정리해봤다☆ Stack: Last In First Out 필수 제공 메서드 push to top: 새 아이템 쌓기 pop from top: 맨 위에 있는 아이템 제거 peek: 맨 위에 있는 아이템 리턴 (제거 안 하고 리턴만함) size: 스택 크기 empty: 스택이 비었는 지 Queue: First In First Out Standard Operations push: 새 아이템 추가 pop: 맨 앞에 있는 아이템 제거 peek: 맨 앞에 있는 아이템 리턴 (제거 안 하고 리턴만함) empty: 큐가 비었는 지

이것이 취업을 위한 코딩테스트다 15장. 이진탐색 문제

29 공유기 설치 1회: 오답 - 문제에 대한 감도 못 잡음, 문제를 이해하고 나니 떡볶이 떡 문제랑 비슷하단 걸 알았다 모범답안: github.com/ndb796/python-for-coding-test/blob/master/15/3.py ndb796/python-for-coding-test [한빛미디어] "이것이 취업을 위한 코딩 테스트다 with 파이썬" 전체 소스코드 저장소입니다. - ndb796/python-for-coding-test github.com 해설 집의 좌표와 공유기의 갯수(C)를 입력 받기 집의 좌표를 정렬하기 집끼리의 최대 거리를 구하기 위한 이진탐색 수행 맨 처음에 mid는 중간점: (첫번째 집 좌표 + 마지막 집 좌표) // 2 항상 첫번째 집부터 공유기를 설치한다고 할 때,..

LeetCode 35 (Easy) Search Insert Position

출처: leetcode.com/problems/search-insert-position/ Search Insert Position - 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 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 유니크한 정수로 이루어진 배열과 임의의 값이 주어졌을 때, 임의의 값이 배열의 원소이면 해당 원소의 인덱스를 반환하고, 임의의 값이 배열의 원소가 아니면, 임의의 값이 오름차순으로 추가되었을 때의 인덱스를 반환하라. 예제 1: 입력..

LeetCode 349 (Easy) Intersection of Two Arrays

출처: leetcode.com/problems/intersection-of-two-arrays/ Intersection of Two Arrays - 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 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 주어진 두 배열의 교집합을 반환하는 함수를 작성하여라. 예제 1: 입력: nums1 = [1, 2, 2, 1], nums2 = [2, 2] 출력: [2] 예제 2: 입력: nums1 = [4, 9, 5], nums2 ..

LeetCode 278 (Easy) First Bad Version

출처: leetcode.com/problems/first-bad-version/ First Bad Version - 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 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 당신은 새 서비스를 개발하기 위해 팀을 리딩하고 있는 프로젝트 매니저이다. 안타깝게도, 서비스의 최신 버전이 품질 검사를 통과하지 못했다. 각각의 버전은 이전 버전을 기반으로 개발되기 때문에, 문제가 된 버전 이후의 모든 버전은 품질 검사를 통과하지..

이진탐색 알고리즘

출처: 이것이 코딩 테스트다 with Python 26강 이진 탐색 개요 https://www.youtube.com/watch?v=-Gx0T92-7h8&list=PLVsNizTWUw7H9\_of5YCB0FmsSc-K44y81&index=27 이진탐색이란? 정렬되어 있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 시간복잡도: log2(n) 이진탐색 수도코드 이진탐색 예 - 원하는 값이 없는 경우 시작점 = 0 끝점 = list.length - 1 while(끝점 찾는값) { 끝점 = 중간점 - 1 } else { 시작점 = 중간점 ..

LeetCode 392 (Easy) Is Subsequence

출처: https://leetcode.com/problems/is-subsequence/ 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 문자열 s와 t가 주어졌을 때, s가 t의 부분문자열인지 구하여라. 어떤 문자열의 부분문자열이란, 어떤 문자열 내 문자들의 상대적인 순서 변경없이 일부를 삭제하여(삭제하지 않을 수도 있음) 얻을 수 있는 문자열을 말한다. (예, ace는 abcde의 부문문자열이다. aec는 abcde의 부분문자열이 아니다) 예제1: 입력: s="abc", t="ahbgdc" 출력: true 예제2: 입력: s="axc", t="ahbgdc" 출력: false 제약조건: 0 < s.length < 100 0 < t.length < 10^4 s와 t는 영문소문자로만 구성되어 있다 풀..

LeetCode 1710 (Easy) Maximum Units on a Truck

출처: leetcode.com/problems/maximum-units-on-a-truck/ Maximum Units on a Truck - 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 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 한 대의 트럭에 정해진 갯수의 박스만 실을 수 있다. boxTypes[i] = [numberOfBoxes(i), numberOfUnitsPerBox(i)]인 이차원 배열 boxTypes이 주어질 때: numberOfBoxes..

LeetCode 122 (Easy) Best Time to Buy and Sell Stock II

출처: leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/ Best Time to Buy and Sell Stock II - 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 문제 한글 번역은 아래 더보기를 클릭해주세요. 더보기 배열 prices의 i번째 엘리먼트의 값은 day i의 주가를 의미한다. 이 때, 얻을 수 있는 최고 수익을 구하여라. 원하는 대로 트랜잭션을 진행 수 있다. (예, 주식 1주를 매수하여 ..

그리디 알고리즘

출처: - 이것이 취업을 위한 코딩테스트다 with Python - https://youtu.be/5OYlS2QQMPA 그리디 알고리즘 현재 상황에서 지금 당장 좋은 것만 고르는 방식 지금 당장 좋은 것만 골라도 최적해가 나올 수 있는 문제를 풀 때 적합 전체 경우의 수를 고려해서 최적해를 구해야하는 문제를 풀 때는 부적합 그리디 알고리즘이 부적합 문제 문제: 루트 노드부터 시작하여 거쳐가는 노드의 합을 최대로 만들고자 할 때, 최대의 값은 무엇인가? 최적해는 21 (5 -> 7 -> 9) 인 데, 그리디 알고리즘을 적용하면 19 (5 -> 10 -> 4)가 나와 최적해를 구할 수 없음 지금 당장 좋은 것을 골라도, 다음 단계에서 역전 가능성이 있으므로 그리디 알고리즘에는 부적합 최적해: 21 (5 ->..