Algorithm/problems
-
rand5(), rand7() 만들기Algorithm/problems 2018. 8. 14. 18:28
rand5(), rand7() 만들기 interview에서 나온 문제. 어떤 곳은 가면 편하고 생각이 잘 나는 반면에 어떤 곳은 머리가 하얘지는 곳이 있다. 아무래도 조금 더 부담이 되는 곳에서 그러는 것 같은데. 혼자 풀거나 사전에 시간이 있으면 충분히 할 수 있는 문제들을 보는 앞에서 바로 하려면 아무런 생각이 나지 않는다.오늘도 망한 interview에서 나왔던 문제를 기록해 본다. 잊지 않기 위해. 문제는,1부터 5까지 동일한 확률로 발생하는 rand5()와 1부터 7까지 동일한 확률로 발생하는 rand7()이 있을 때, 서로를 이용해 구현을 한다.즉, rand7()을 이용해 rand5()를 구현하고, rand5()를 이용해 rand7()을 구현한다.1. rand7()로 rand5() 만들기연습문..
-
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..