본문 바로가기

Algorithm/HackerRank9

[HackerRank]Permuting Two Arrays 문제 n개의 길이를 가진 배열 q쌍과 정수 k가 주어진다. 한 쌍의 배열을 각각 A, B라고 하자. 이 배열들은 얼마든지 재정렬하거나 값들의 위치를 바꿀 수 있다. 단, 이는 한 배열 안에서만 가능하고 A, B의 값들을 서로 바꿀 수는 없다. A[i]+B[i] >=k의 조건을 충족할 때 'YES', 충족하지 못할 때 'NO'를 출력한다고 할 때, 주어진 q쌍의 배열들이 각각 이 중 어디에 해당하는지를 출력하는 함수를 만들어라. 단, 수의 범위 조건은 아래와 같다. 1≤q≤10 1≤n≤1000 1≤k≤10ⁿ(n=9) 0≤A[i]+B[i]≤10ⁿ(n=9) Sample Input : STDIN Function ----- -------- 2 q = 2 3 10 A[] and B[] size n = 3, k = .. 2021. 3. 2.
[HackerRank]Grading Students(풀이 성공) 문제 HackerLand 대학은 다음과 같은 성적 산출 기준을 가지고 있다. 모든 학생들은 0~100점까지의 범위 내 성적을 받는다. 40점 이하의 성적을 받은 학생들은 낙제이다. 또한 이 대학의 교수인 Sam은 다음의 룰을 따라 학생들의 점수를 올림한다. 만약 학생의 점수와 가장 가까운 5의 배수(단, 5의 배수 > 학생의 점수)의 차이가 3보다 작을 경우, 가장 가까운 5의 배수로 올림한다. 그렇지 않을 경우 점수는 그대로 둔다. 만약 학생의 점수가 38보다 작다면, 올림하지 않고 낙제처리한다. 위의 규칙에 맞추어 학생들의 점수를 산출하는 함수를 만들어라. Input으로는 학생 수 n, 각 학생들의 점수를 담은 배열 grade가 주어진다.(단, 1 ≤ n ≤ 60, 0 ≤ grade[i] ≤ 100).. 2021. 2. 24.
[HackerRank]Time Conversion(풀이 성공) 문제 12시 단위+AM/PM으로 표시된 시간이 입력된다. AM/PM을 제거하고, 입력된 시간을 24시 단위로 바꾸어 출력하라. Sample Input : 07:05:45PM Sample Output : 19:05:45 내 코드: import os import sys def timeConversion(s): am_pm = s[-2:] time = s[:2] # '시' 부분만 슬라이싱 changed_time = int(time)+12 pix = s[2:-2] # 변동되지 않는 '분' 부분 슬라이싱 if am_pm=='AM' and time=='12' : # 자정~새벽 1시까지 return '00'+pix elif am_pm=='PM' and time=='12' : # 정오~오후 1시까지 return s[:-.. 2021. 2. 9.
[HackerRank]Birthday Cake Candles(풀이 성공) 문제 생일 케이크에 나이만큼 초(candle)를 꽂는다. 초의 길이는 각각 다르며, 가장 길이가 긴 초들의 불만 불어 끌 수 있다. input으로 나이 n(=초의 갯수), 각 초들의 길이가 들어있는 array가 주어진다. 그 중 불을 끌 수 있는 초들의 개수를 출력하라. Sample Input : 4 3 2 1 3 Sample Output : 2 내 코드: import math import os import random import re import sys def birthdayCakeCandles(candles): # Write your code here max_count = candles.count(max(candles)) return max_count if __name__ == '__main__':.. 2021. 2. 1.