Python
-
Lesson1. Iteration - BinaryGapAlgorithm/codility 2018. 7. 23. 15:24
BinaryGap - Find longest sequence of zeros in binary representation of an integer.https://app.codility.com/programmers/lessons/1-iterations/binary_gap/문제요약양의 정수 N의 2진 표현에서 1로 감싸진 연속된 0의 최대 갯수를 계산. 포함하지 않으면 0을 반환Assume that:N is an integer within the range [1..2,147,483,647].Complexity:expected worst-case time complexity is O(log(N));expected worst-case space complexity is O(1).풀이각 자리 bit를 검사하면 l..
-
A사 코딜리티 문제Algorithm/problems 2018. 7. 19. 14:44
A사 코딜리티 문제 - 난이도(하), 결과(100%)문제1입력 N의 각 자리 숫자들을 재정렬해서 만들 수 있는 가장 큰 수를 반환풀이각 자릿수를 list로 쪼갠다음 내림차순 정렬 후 다시 이어주면 된다.python으로 더 간단하게(return int(''.join(sorted(str(N), reverse=True)))도 가능) 가능하다 일단 제출은 변환하는 부분도 같이 작성.문제2N개의 나무의 높이 A가 주어지면, 이 중 하나만 제거해서 오름차순으로 정렬할 수 있는 경우의 수 반환. 불가능하면 0반환풀이처음에는 각 자리를 제거해서 오름차순이 되는지 계산하는 단순한 방법을 사용했으나, 더 나은 방법을 찾아서 제출했다. 하나만 제거해서 오름차순이 된다는건 높이가 감소하는 부분이 전체에 1개 이하로 존재해야 ..
-
8퍼센트 면접문제 - pingpongAlgorithm/problems 2018. 7. 19. 14:11
8퍼센트 면접문제 - pingpong문제일련의 숫자가 있고, 이 숫자는 1씩 증가, 또는 감소한다. n번째의 숫자가 있을 시에 , 이 숫자가 7의 배수(7, 14, 21,...)거나 7이란 숫자를 포함할 시에 (7, 17, 27,...) 방향을 바꾼다.즉, 1, 2, 3, 4, 5, 6, [7], 6, 5, 4, 3, 2, 1, [0], 1, 2, [3], 2, 1, 0, [-1], 0, 1과 같이 숫자는 진행한다. (첫 번째 7은 7번째, 두 번째 0은 14번째, 세 번째 3은 17번째, 네 번째 -1은 21번째)다음의 제약 하에 pingpong(x)의 함수를 작성하라. 예시의 인풋과 아웃풋은 다음과 같다.pingpong(8) = 6pingpong(22) = 0pingpong(68) = 2pingpon..
-
HackerRank Interview Preparation Kit > GreedyAlgorithm/hackerrank 2018. 7. 17. 14:34
HackerRank의 Interview Preparation Kit > Greedy의 Medium 이상 문제Greedy Florist - medium문제요약n개의 꽃 가격 c와 k명의 사람이 있을 때, 꽃의 가격은 동일한 사람이 꽃을 사면 꽃 가격에 이전 구매 횟수의 배수로 가격이 측정될 때 전체 꽃을 사는 최소 값을 계산(즉 꽃 가격이 [2, 3]이고 한 사람이 꽃을 사면 처음엔 3, 두 번째는 2*2로 전체 가격은 7에 살 수 있다. 순서가 바뀌면 2 + 3*2 = 8이 되므로 최소는 7) 첫 줄엔 n, k. 두번째 줄엔 c (1
-
HackerRank Interview Preparation Kit > SortingAlgorithm/hackerrank 2018. 7. 17. 14:32
HackerRank의 Interview Preparation Kit > Sorting의 Medium 이상 문제Sorting: Comparator - medium문제요약n개의 [이름, 점수]들을 점수순 내림차순 정렬, 점수가 같을 경우 이름 오름차순으로 정렬 후 출력하는 class 작성Sample Input5 amy 100 david 100 heraldo 50 aakansha 75 aleksa 150Sample outputaleksa 150 amy 100 david 100 aakansha 75 heraldo 50풀이__repr__, cmp_to_key Fraudulent Activity Notification - medium문제요약은행에서 고객의 사용 내역을 분석해서 부정행위 알림을 보낸다. n일 동안의 ..
-
HackerRank Interview Preparation Kit > ArraysAlgorithm/hackerrank 2018. 7. 17. 14:30
HackerRank의 Interview Preparation Kit > Arrays의 medium이상 문제New Year Chaos - medium문제요약n명이 줄을 서 있고 각자 처음의 위치(1...n)를 가지고 있다. 각각 자신의 바로 앞 사람과 자리를 변경할 수 있으며 최대 2번까지만 가능하다. 임의의 순서가 주어졌을 때 최초 순서부터 몇 번의 위치 변경을 통해 가능한지 최소 횟수를 불가능하다면 "Too chaotic"을 출력한다. (1