알고리즘(15)
-
[Swift - 프로그래머스] N개의 최소공배수 구하기
문제 해석 N개의 숫자를 담은 배열이 주어졌을 때 이 수들의 최소 공배수를 구하는 함수를 작성하는 문제였습니다. 배열의 수들은 100 이하인 자연수이고 배열의 길이는 1부터 15 이하라고 합니다. 여러 수의 최대 공배수를 구하기 위해 먼저 두 수의 최대 공배수를 구하는 방법에 대해 알아봅시다. 두 수 a, b의 최소공배수는 두 수의 곱을 두 수의 최대 공약수로 나누어 주어서 구할 수 있다는군요. 두 수의 최대 공약수는 유클리드 호제법을 이용하여 쉽게 구할 수 있습니다. 이를 이용하여 배열의 첫 번째 원소와 두 번째 원소의 최소 공배수를 구하고 구한 최소 공배수와 그다음 원소와의 최소공배수를 비교하여 전체 N개의 수의 최소 공배수를 구하는 방식으로 문제를 해결할 수 있습니다. 더 생각해보기 주어진 배열에서..
2021.05.20 -
[백준] 11377번: 열혈강호 3
문제링크 : [백준] 11377번: 열혈강호 3 11377번: 열혈강호 3 첫째 줄에 직원의 수 N과 일의 개수 M, 일을 2개할 수 있는 직원의 수 K가 주어진다. (1 ≤ N, M ≤ 1,000, 1 ≤ K ≤ N) 둘째 줄부터 N개의 줄의 i번째 줄에는 i번 직원이 할 수 있는 일의 개수와 할 수 있 www.acmicpc.net 1. 문제 강호네 회사에는 직원이 N명이 있고, 해야할 일이 M개가 있다. 직원은 1번부터 N번까지 번호가 매겨져 있고, 일은 1번부터 M번까지 번호가 매겨져 있다. 각 직원은 한 개의 일만 할 수 있고, 각각의 일을 담당하는 사람은 1명이어야 한다. 단, N명 중에서 K명은 일을 최대 2개할 수 있다. 각각의 직원이 할 수 있는 일의 목록이 주어졌을 때, M개의 일 중에서..
2021.01.10 -
[백준] 9576번: 책 나눠주기
문제 링크: [백준] 9576번: 책 나눠주기 20년의 마지막 주말 잘 보내셨나요? 연말에 즐거운 시간 보내시고 술은 적당히 먹는게 좋겠습니다.. 같이 문제 풀어볼까요?. 문제백준이는 방 청소를 하면서 필요 없는 전공 서적을 사람들에게 나눠주려고 한다. 나눠줄 책을 모아보니 총 N권이었다. 책이 너무 많기 때문에 백준이는 책을 구분하기 위해 각각 1부터 N까지의 정수 번호를 중복되지 않게 매겨 두었다.조사를 해 보니 책을 원하는 서강대학교 학부생이 총 M명이었다. 백준이는 이 M명에게 신청서에 두 정수 a, b (1 ≤ a ≤ b ≤ N)를 적어 내라고 했다. 그러면 백준이는 책 번호가 a 이상 b 이하인 책 중 남아있는 책 한 권을 골라 그 학생에게 준다. 만약 a번부터 b번까지의 모든 책을 이미 다른..
2020.12.28