알고리즘

문제 링크 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 풀이 fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val times = Array(n) { Array(2) { 0 } } repeat(n) { val line = readLine().split(" ") times[it][0] = line[0].toInt() times[it][1] = line[1].toInt() } times.sortWith(compareBy { it[1] }.thenBy { it[0] }..
· Algorithm
문제 링크 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 풀이 import kotlin.math.max fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val weights = Array(n) { 0 } for (i in 0..< n) { weights[i] = readLine().toInt() } weights.sort() var maxW..
· Algorithm
문제 링크 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 풀이 fun main() = with(System.`in`.bufferedReader()) { var (n, k) = readLine().split(" ").map { it.toInt() } val coins = mutableListOf() var result = 0 repeat(n) { coins.add(readLi..
· Algorithm
입출력 입력 fun main() = with(System.`in`.bufferedReader()) { // 정수 하나 읽기 val num = readLine().toInt() // 공백 기준으로 읽기 val nums = readLine().split(" ").map { it.toInt() } // 문자열을 char 배열로 받기 val char = readLine().toCharArray } 출력 fun main() = with(System.`out`.bufferedReader()) { // 기본 print("hello") // bufferedWriter val sout = BufferedWriter(OutputStreamWriter(System.out)) sout.appendLine() sout.flus..
· Algorithm
문제 링크 https://softeer.ai/practice/6288 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이 import sys input = sys.stdin.readline w, n = map(int, input().split()) sum_weight = 0 price = 0 metals = [] for _ in range(n): m, p = map(int, input().split()) metals.append([m, p]) metals.sort(key=lambda x: -x[1]) idx = -1 while idx w: break sum_weight += metals[idx][0] price += metals[idx][1] * metals[idx][0] p..
· Algorithm
문제 링크 https://softeer.ai/practice/6282 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이 def dfs(x, y): if x = n or y = n: return False if graph[x][y] == 1 and not visited[x][y]: global count visited[x][y] = 1 count += 1 for i in range(4): nx = x + dx[i] ny = y + dy[i] dfs(nx, ny) return True return False n = int(input()) graph = [list(map(int, input())) for _ in range(n)] visited..
문제 링크 https://softeer.ai/practice/6279 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이 그리디하게 앞에서부터 사용할 수 있는 부품을 차례로 집는 것이 최댓값을 찾을 수 있는 방법이라 생각했고, 그 방법대로 깔끔하게 해결할 수 있었습니다. n, k = map(int, input().split()) arr = list(input()) result = 0 for i in range(len(arr)): if arr[i] == 'P': for j in range(i - k, i + k + 1): if 0
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(number, k): answer = [] for n in number: while answer and k > 0 and answer[-1] < n: answer.pop() k -= 1 answer.append(n) return ''.join(answer[:len(number) - k]) combinations를 활용해서 최대를 구하는 방식을 생각해보았..
YOONJELLY
'알고리즘' 태그의 글 목록 (6 Page)