Algorithm/프로그래머스

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 행렬곱에 대한 이해가 있어야 문제를 해결할 수 있으므로, 행렬곱에 대한 자세한 내용은 여기를 참고하길 바란다.두 행렬 arr1, arr2의 크기가 각각 m×n, n×r 일 때, arr1의 열과 arr2의 행의 크기가 같을 때만 행렬의 곱셈이 가능하다.arr1과 arr2 곱셈 결과 나오는 행렬의 크기는 m×r이다. 코드 - 방법 1)def solution(arr1, arr2): answer = [] m, n, r = len(arr1), len(arr1[0]), len(arr2[0]) for i in range(m)..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(cacheSize, cities): cache = [] # 캐시 time = 0 # 총 실행시간 if cacheSize > 0: for city in cities: city = city.lower() if city in cache: # 캐시에 존재할 때(cache hit) 최근 위치로 갱신 cache.remove(city) cache.append(city) cache = cache[-cacheSize:] time += 1 else: # 캐시에 존재하지 않으면(cache miss) ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(citations): for h in range(max(citations), 0, -1): # h(범위: 최대 인용 횟수부터 1까지) '역순' 순회 count = 0 # h번 이상 인용된 논문 수 for c_num in citations: if h = h: # 가장 먼저 h번 이상 인용된 논문수가 h번 이상이면 리턴 return h return 0 논문 n 편 중, h번 이상 인용된 논문이 h 편 이상이 될 수 있는 h의 최댓값을 구해야 하는 문제이다. 먼저 문제 이해를 위해 필기..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드def solution(n): answer = 0 while n > 0: if n % 2 == 0: # 짝수이면 //2 n = n // 2 else: # 홀수이면 -1 n = n - 1 answer += 1 # -1 하는 횟수가 답 return answer문제를 보자마자 그리디 유형이 아닐까.. 하고 생각했다. 순간이동의 횟수를 최대로 해야 건전지 사용량이 최소가 될 수 있기 때문에 어떻게 순간이동의 횟수를 최대화하느냐가 관건이었다. 하지만 주어진 예시를 봐도 기준을 잘 모르겠어서 힌트를 찾아 인터넷 세상을 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 import sys sys.setrecursionlimit(10**6) def fibo(x): if x == 0: return 0 elif x == 1: return 1 else: return fibo(x-1) + fibo(x-2) def solution(n): return fibo(n) % 1234567 문제 이름을 보자마자 피보나치 함수 정도는 쉽게 구현할 수 있지!라고 생각했지만 결과는 처참했다. 런타임 에러도 아닌 시간초과를 맞닥뜨려 너무나 당황스러웠다. 어떻게 해결해야 할지 하나도 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(n): answer = 0 # 연속된 자연수로 n을 표현하는 방법의 수 for i in range(1, n+1): hap = 0 # hap이 n보다 크거나 같아질 때까지 i부터 순차적으로 더함 while hap < n: hap += i i += 1 if hap == n: # 만약 hap이 n과 같으면 연속된 자연수로 나타낼 수 있으므로 방법 +1 answer += 1 return answer 자연수 n을 연속된 자연수로 표현할 수 있는 가짓수를 구하는 문제이다. 예를 들어, n=1..
dduniverse
'Algorithm/프로그래머스' 카테고리의 글 목록 (3 Page)