본문 바로가기

전체 글

(27)
Drawing Book 문제 https://www.hackerrank.com/challenges/drawing-book/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen n페이지 길이의 책에서 p페이지를 펴기까지 넘겨야하는 최소 페이지 수를 출력 1페이지는 무조건 오른쪽에 있고 마지막 페이지는 n에 따라 다름 한 번에 한 장밖에 못 넘김 입력 예 6 2 출력 예 1 첫 장에서는 한 ..
Sock Merchant 문제 https://www.hackerrank.com/challenges/sock-merchant/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 주어진 리스트에서 짝이 있는 숫자의 개수 출력 입력 예 1 2 1 2 1 3 2 출력 예 2 제출한 코드 from collections import Counter def sockMerchant(n, ar): counter = Counter(ar) res = 0 ..
Bon Appétit 문제 https://www.hackerrank.com/challenges/bon-appetit/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 더치페이 돈계산 입력 주문한 음식의 수, 안나가 먹은 음식의 인덱스 주문한 음식의 가격 브라이언이 안나에게 받은 돈 출력 제대로 받았으면 문자열 Bon Appetit 초과해서 받았으면 안나한테 다시 줘야할 돈 입력 예 4 1 3 10 2 9 12 출력 예 5 주문한 4가지 음식의 가격은 각각 3, 10, 2, 9..
Day of Programer 문제 https://www.hackerrank.com/challenges/day-of-the-programmer/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 년도가 주어지면 그 해의 윤달을 계산해서 256번째 날을 dd.mm.yyyy 형식으로 출력 1. 1918년도 이전의 윤년은 4로 나누어 떨어지는 년도에 해당 2. 1918년의 256번째 날은 26.09.1918 3. 1918년 이후는 4로 나누어떨어져도 100으로 나누어 떨어지면 평년, 400으로 나누어 떨어질경우 윤년 제출한 답 def da..
Migratory Birds 문제 https://www.hackerrank.com/challenges/migratory-birds/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 나열된 숫자 중 제일 많이 나온 숫자를 출력 제일 많이 나온 숫자가 동일할 경우 그 중 작은 숫자를 출력 입력 예시 6 1 4 4 5 3 출력 4 제출한 코드 from collections import Counter def migratoryBirds(arr): count = Counter(arr) cmax = max(count.values()) res = max(count.keys()) for key..
Divisible Sum Pairs 문제 https://www.hackerrank.com/challenges/divisible-sum-pairs/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 리스트 ar과 k가 주어졌을 때 ar[i]+ar[j]%k=0인 i,j 쌍의 수를 출력 (이때, i < j ) 입력 len(ar) k ar 입력 예 6 3 1 3 2 6 1 2 출력 예 5 ar[0]+ar[2]=3 ar[0]+ar[5]=3 ar[2]+ar[4]=3 ar[1]+ar[3]=9 ar[4]+ar[5]=3 은 모두 k=3으로 나누어 떨어짐. 제출한 코드 def divisibleSumPairs(n, k, ar): res=0 for i, ..
Birthday Chocolate 문제 https://www.hackerrank.com/challenges/the-birthday-bar/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen 정해진 개수로 주어진 숫자를 완성할 수 있는 방법 출력 입력 숫자의 개수 숫자의 나열 완성해야 할 숫자와 개수 입력 예 5 1 2 1 3 2 3 2 출력 예 2 마지막 입력이 3 2 이므로 2가지 숫자로 3을 만들어야 하기 때문에 [1,2]=3, [2,1]=3 두가지 방법으로 만들 수 있음 +연속된 숫자로 만들어야한다 제출한 코드 def birthday(s, d, m): res = 0 for i, _ in enumerate(s): if sum(s[i:i+m])==d: res+=1 return ..
Breaking the Records 문제 https://www.hackerrank.com/challenges/breaking-best-and-worst-records/problem?h_r=next-challenge&h_v=zen 각 시즌별 점수가 주어졌을 때 최고/최저 기록 갱신횟수 출력 입력 예시 9 10 5 20 20 4 5 2 25 1 출력 예시 2 4 제출한 코드 def breakingRecords(scores): maxS, minS = scores[0], scores[0] res=[] x, y = 0, 0 for i in scores: if i > maxS: x+=1 maxS=i if i < minS: y+=1 minS=i res.append(x) res.append(y) return res