코딩 테스트/Level 2
-
3. 탑코딩 테스트/Level 2 2019. 11. 10. 23:07
https://programmers.co.kr/learn/courses/30/lessons/42588 파이썬 제시된 조건 그대로 풀었습니다. range 함수의 사용법을 안다면 쉽게 풀 수 있습니다. def solution(heights): answer = [0] * len(heights) for i in range(len(heights) - 1, 0, -1): # for i in range(len(heights) - 1, -1, -1): for j in range(i - 1, -1, -1): if heights[i] < heights[j]: answer[i] = j + 1 break return answer 자바스크립트 일단 쉽게 처리해 보았습니다. 초기화 부분이 좀 거슬리죠? function solut..
-
2. 피보나치 수코딩 테스트/Level 2 2019. 11. 8. 23:06
https://programmers.co.kr/learn/courses/30/lessons/12945 저의 블로그에서도 다룬 적 있는 문제입니다. https://comdoc.tistory.com/entry/33-피보나치-수열과-동적-프로그래밍 파이썬 재귀의 예로 많이 사용됩니다만, 문제의 조건인 100,000은 파이썬의 재귀 한계를 넘겨 버립니다. RecursionError: maximum recursion depth exceeded in comparison 재귀를 쓰지 말고, 반복문을 사용합니다. 문제를 그대로 코딩하면 이렇습니다만.. def solution(n): f0, f1 = 0, 1 for i in range(2, n+1): f0, f1 = f1, (f1 + f0) return f1 % 1234..
-
1. 전화번호 목록코딩 테스트/Level 2 2019. 11. 8. 00:04
https://programmers.co.kr/learn/courses/30/lessons/42577 파이썬 def solution(phone_book): for num1 in phone_book: for num2 in phone_book: if num1 != num2: k = min(len(num1), len(num2)) if num1[:k] == num2[:k]: return False return True """ 효율성 테스트 테스트 1 〉통과 (0.16ms, 15.3MB) 테스트 2 〉통과 (0.15ms, 15.3MB) """ 자바 향상된 for 문을 사용하지 않고 고전적으로 ... 읽기 싫어지네요. class Solution { public boolean solution(String[] phon..