일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 타입스크립트
- Lv. 0
- 너비 우선 탐색
- DP
- SQL 고득점 KIT
- 스택
- Lv. 3
- Typescript
- Lv. 2
- softeer
- Lv. 1
- level3
- 파이썬
- programmers
- C언어
- bfs
- dfs
- 프로그래머스
- level 3
- group by
- 브루트포스
- Java
- Python
- Dynamic Programming
- 다이나믹프로그래밍
- 자바스크립트
- 문자열
- javascript
- 소프티어
- Stack
- Today
- Total
목록binary search (4)
몸과 마음이 건전한 SW 개발자
문제 링크 https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다. N = 0인 경우 둘째 줄은 빈 줄 www.acmicpc.net 정답 코드 import sys input = sys.stdin.readline # N 현재 휴게소 개수 # M 더 지으려고 하는 휴게소 개수 # L 고속도로의 길이 N, M, L = map(int, input().split()) if N == 0: if L % (M+1): print(L//(M+1)+1) else: print(L//(M+1)) else: restAreas =..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/181923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 function solution(arr, queries) { const answer = []; queries.forEach(([s, e, k]) => { // s부터 e까지의 부분 배열을 복사하고 정렬한다. const newArr = arr.slice(s, e + 1).sort((a, b) => a - b); // 이분 탐색을 위한 초기값 설정 let left = 0; //..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 def solution(distance, rocks, n): answer = 0 minD, maxD = 0, distance rocks.sort() rocks.append(distance) # 이분 탐색 시작 while minD currentD: searchD = currentD if cnt > n: maxD = searchD - 1 break else: answer = se..
문제 링크 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 정답 코드 import sys input = sys.stdin.readline N = int(input()) SOLUTIONS = sorted(list(map(int, input().split()))) answer = [] twoSum = 2000000001 isFound = False for i in range(N): # 처음 부터 시작 startSo..