일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- prg 패턴
- 누적합
- 레디스 동시성
- 알람 시스템
- 검색어 추천
- 완전탐색
- branch 전략
- 결제서비스
- 수신자 대상 다르게
- spring event
- 객체지향패러다임
- 디버깅
- AWS
- 셀러리
- 이분탐색
- BFS
- piplining
- 좋은 코드 나쁜 코드
- 프로그래머스
- 트랜잭샨
- docker
- 구현
- 카카오
- 백준
- 코드 계약
- 깊게 생각해보기
- jwt 표준
- 숫자 블록
- gRPC
- 쿠키
- Today
- Total
목록이분탐색 (4)
코딩관계론
문제 이해하기어떤 왕국에사 새로운 도시를 건설하기 위해선 금과 은이 필요하다.왕은 새로운 도시를 건설하기 위해서 기존 도시에서 금과 은을 가지고 오려고 하고, 이 광물이 새로운 도시에 도착하기 까지 일정 시간이 소요된다.새로운 왕국에 필요한 금과 은이 배달되기 까지의 시간을 구하라. https://school.programmers.co.kr/learn/courses/30/lessons/86053 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 해결 방법 설명하기 1. 경우의 수 계산하기 왕국 내에 존재할 수 있는 도시의 최대..
문제 이해하기 우리가 원하는 것은 바위를 n개를 제거했을 때 최소 거리가 되는 최대 값을 찾는 것이 목적입니다.주어진 문제의 조건은 아래와 같습니다. 도착지점까지의 거리 distance는 1 이상 1,000,000,000 이하입니다. 바위는 1개 이상 50,000개 이하가 있습니다. n 은 1 이상 바위의 개수 이하입니다. https://school.programmers.co.kr/learn/courses/30/lessons/43236 문제 해결 방법 설명하기 1. 최소가 되는 최대값 찾기 우리가 원하는 것은 바위를 n개를 제거했을 때 최소 거리가 되는 최대 값을 찾는 것이 목적입니다. 따라서 바위의 숫자가 적다면 완전탐색으로도 해결이 가능하지만, 해당 문제는 바위의 개수가 50,000개이기 때문에 완전..
문제 이해하기 N개의 주사위가 주어지고, 해당 주사위에는 6개의 면에 랜덤한 숫자들이 적혀있음 이 N개의 주사위 중 N/2를 A가 가져가고, 나머지를 B가 가져가고 이렇게 가져간 주사위 중 승률이 가장 높은 주사위를 반환해야함 문제 해결 방법 1. 주사위 선택을 어떻게 하냐에 따라서 결과 값이 달라지기 완전탐색을 진행해야 합니다. 파이썬에서는 combinations 함수를 통해서 주사위 조합을 구할 수 있습니다. combi = list(combinations(range(0, len(dice)), n)) 2. 내가 선택한 주사위에서 나올 수 있는 면들의 조합, 상대 방이 선택한 주사위에서 나올 수 있는 면들의 조합을 구해야 합니다. for my_dice in combi: enemy_dice = list(s..
아이디어 도출 방법 주어진 문제는 search배열(n)에서 특정 숫자(m)를 찾는 문제였다. 하지만 배열의 길이가 크고, 찾고자 하는 특정 숫자가 많아지면 이중반복문으로는 해결하기 어렵다. 따라서 이중 반복문을 제거하고, 주어진 배열에서 더 빠르게 탐색할 수 있는 알고리즘이 필요한데 이것이 이분 탐색이다. 이분 탐색은 기존의 O(n)의 시간 복잡도를 O(logn)으로 줄여준다. 이런 방법을 사용한다면 기존의 O(n*n)의 시간 복잡도에서 O(nlogn) + O(mlogn)으로 개선할 수 있다. 또한 이분 탐색을 하기 전 필수적으로 수행되어야 할 것은 '특정 배열'(주어진 숫자를 찾고자 하는 배열)이 정렬되어 있어야 한다. 최종 결과 n = int(input()) search = list(map(int, ..