[프로그래머스] 서버 증설 횟수 -java
·
CodingTest/programmers
문제 설명 당신은 온라인 게임을 운영하고 있습니다. 같은 시간대에 게임을 이용하는 사람이 m명 늘어날 때마다 서버 1대가 추가로 필요합니다. 어느 시간대의 이용자가 m명 미만이라면, 서버 증설이 필요하지 않습니다. 어느 시간대의 이용자가 n x m명 이상 (n + 1) x m명 미만이라면 최소 n대의 증설된 서버가 운영 중이어야 합니다. 한 번 증설한 서버는 k시간 동안 운영하고 그 이후에는 반납합니다. 예를 들어, k = 5 일 때 10시에 증설한 서버는 10 ~ 15시에만 운영됩니다. 하루 동안 모든 게임 이용자가 게임을 하기 위해 서버를 최소 몇 번 증설해야 하는지 알고 싶습니다. 같은 시간대에 서버를 x대 증설했다면 해당 시간대의 증설 횟수는 x회입니다. 모든 게임 이용자를 감당하기 위해 최소 7..
[프로그래머스] 문자열 내 마음대로 정렬하기 -python
·
CodingTest/programmers
문제 설명문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.  제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.  입출력 예strings n return["sun", "bed", "..
[프로그래머스] 이상한 문자 만들기 - python
·
CodingTest/programmers
문제 설명문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.  제한 사항문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.  입출력 예s return"try hello world""TrY HeLlO WoRlD"  입출력 예 설명"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "Tr..
[프로그래머스] 약수의 개수와 덧셈 - python
·
CodingTest/programmers
문제 설명두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.  제한사항1 ≤ left ≤ right ≤ 1,000  입출력 예left right result131743242752    입출력 예 설명 입출력 예 #1다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.수 약수 약수의 개수131, 132141, 2, 7, 144151, 3, 5, 154161, 2, 4, 8, 165171, 172따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다. 입출력 예 #2다음 표는 24부터 ..
[프로그래머스] 정수 내림차순으로 배치하기 - python
·
CodingTest/programmers
문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건n은 1이상 8000000000 이하인 자연수입니다. 입출력 예nreturn118372873211 제출 코드def solution(n): answer = sorted(str(n), reverse=True) return int(''.join(answer))내림차순 정렬을 위해 reverse=True를 이용했다. 그리고 list 형태의 answer를 string으로 변경해주기 위해 join함수를 이용했다.처음에는 리스트 요소를 int로 만들어 실행했는데 TypeError: sequence..
[프로그래머스] 자연수 뒤집어 배열로 만들기 -python
·
CodingTest/programmers
문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.제한 조건n은 10,000,000,000이하인 자연수입니다.입출력 예nreturn12345[5,4,3,2,1] 제출 코드def solution(n): answer = [] answer = list(map(int, str(n))) answer.reverse() return answermap함수를 사용해 각 자리를 list로 저장했다. 그 리스트를 resverse()를 사용해 뒤집어주었다. reversed(str(n))으로 처음부터 뒤집어진 문자열을 변경해줄 수도 있다.
[프로그래머스] 배열의 평균값 - python
·
CodingTest/programmers
문제 설명정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.제한사항0 ≤ numbers의 원소 ≤ 1,0001 ≤ numbers의 길이 ≤ 100정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.입출력 예numbers result[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]5.5[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]94.0입출력 예 설명입출력 예 #1numbers의 원소들의 평균 값은 5.5입니다.입출력 예 #2numbers의 원소들의 평균 값은 94.0입니다. 제출 코드def solution(numbers): answer = 0 sum = 0..
[백준] 2212 센서 (Greedy)
·
CodingTest/BOJ
문제한국도로공사는 고속도로의 유비쿼터스화를 위해 고속도로 위에 N개의 센서를 설치하였다. 문제는 이 센서들이 수집한 자료들을 모으고 분석할 몇 개의 집중국을 세우는 일인데, 예산상의 문제로, 고속도로 위에 최대 K개의 집중국을 세울 수 있다고 한다.각 집중국은 센서의 수신 가능 영역을 조절할 수 있다. 집중국의 수신 가능 영역은 고속도로 상에서 연결된 구간으로 나타나게 된다. N개의 센서가 적어도 하나의 집중국과는 통신이 가능해야 하며, 집중국의 유지비 문제로 인해 각 집중국의 수신 가능 영역의 길이의 합을 최소화해야 한다.편의를 위해 고속도로는 평면상의 직선이라고 가정하고, 센서들은 이 직선 위의 한 기점인 원점으로부터의 정수 거리의 위치에 놓여 있다고 하자. 따라서, 각 센서의 좌표는 정수 하나로 표..
[백준] 2217번 로프 (Sort/Greedy)
·
CodingTest/BOJ
문제N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다.하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다.각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 입력첫째 줄에 정수 N이 주어진다. 다음 N개의 줄에는 각 로프가 버틸 수 있는 ..