알고리즘 34

알고리즘 공부 하려고 덤볐으나.... 넘어졌다.

HackerRank 알고리즘은 별도의 노력이 없으면 자라나지 않는다 라는걸 다시(?) 느꼈다.아마도 알고리즘 훈련이 되어있다면 더 효율적인 코드를 짤 수 있을것이다. 그러나 굳이 알고리즘 훈련을 하지 않더라도 상용 서비스할 수 있는 서비스는 만들 수 있다. 그렇게 알고리즘 훈련 없이 회사에서 코드를 열나게 짜도 효율적이거나 빠른 퍼포먼스를 내는 실력이 늘지 않는다.별도의 노력이 필요하다. https://www.hackerrank.com/

Log 2018.03.09

파이썬 알고리즘 - 패턴문제

파이썬 알고리즘 Python 알고리즘 다른 문제- 숫자 배열 알고리즘 단어 패턴 문자열(패턴) 하나와 문자열의 배열 하나가 주어집니다. 패턴 문자열의 각각의 문자 하나는, 두번째 문자열 배열의 각각의 문자열 하나에 대응 될 수 있습니다. 해당 배열이 해당 패턴으로 표현 되는지 아닌지의 여부를 확인하는 함수를 만들어 보세요. 예를 들어서, aabb 와 ['abc', 'abc', 'fgh', 'fgh'] 가 주어졌을 경우에는 함수가 True를 반환해야 합니다. 이 경우에는 a가 abc에, b가 fgh에 대응되도록 하면 배열을 해당 패턴으로 표현 하는 것이 가능하기 때문이죠.반면, aabb 와 ['abc', 'fgh', 'abc', 'fgh'] 가 주어졌을 경우에는 함수가 False를 반환해야 합니다.모든 문..

Dev/Python 2017.07.17

파이썬 알고리즘 - 숫자 배열에 관한 문제

파이썬 알고리즘 문제 Python 알고리즘 다른 문제 - 단어패턴 문제 숫자 배열문제 숫자들의 배열이 주어집니다. 이 배열은 길이 n을 가지며, 1부터 n-1까지의 숫자로 이루어져있습니다. 모든 숫자가 배열에 단 한번씩만 나타납니다. 그런데, 딱 하나의 수가 배열에 두번 등장합니다. 이 중복되는 숫자를 찾아내어 보세요. 예를 들어서, [1, 5, 2, 4, 5, 6, 3] 를 살펴봅시다. 배열의 길이는 7이며, 따라서 1~6까지의 숫자들이 한번씩 등장합니다. 그런데 5만 한번 더 등장했네요.따라서 이 경우에는5를 찾아내면 됩니다. 코드는 아래 def findDuplicate(nums): nums.sort() for i in range(len(nums) - 1): if (nums[i] == nums[i +..

Dev/Python 2017.07.13