Programmers 60

[프로그래머스 / 파이썬 풀이] H-index

def solution(citations): answer = 0 citations.sort(reverse=True) for i, j in enumerate(citations): if i >= j: return i return len(citations) https://www.ibric.org/myboard/read.php?Board=news&id=270333 [연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? 일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문 www.ibric.org 문제 이해를 위해 위 링크에서 참고했다. 내림차순 정렬 후 enumer..

Programmers 2023.02.08

[프로그래머스 / 파이썬 풀이] 단어 변환

from collections import deque def solution(begin, target, words): answer = 0 if target not in words: return 0 q = deque([[begin, 0]]) while q: c_word, cnt = q.popleft() if c_word == target: return cnt for i in range(len(words)): check = 0 word = words[i] for j in range(len(c_word)): if word[j] != c_word[j]: check += 1 if check == 1: q.append([word, cnt+1]) bfs를 통한 풀이. 큐에 담긴 문자와 단어 배열에 있는 문자를 비교했..

Programmers 2023.02.08

[프로그래머스 / 파이썬 풀이] 소수 만들기

from itertools import combinations def solution(nums): global answer answer = 0 def is_prime(num): global answer cnt = 0 for i in range(1, num+1): if num % i == 0: cnt += 1 if cnt == 2: answer += 1 return prime_lst = list(combinations(nums, 3)) for i in prime_lst: is_prime(sum(i)) return answer combinations 모듈을 통해 해당 배열의 경우의 수를 구한 후 소수를 판별하는 함수에 넣어서 풀이.

Programmers 2023.02.02

[프로그래머스 / 파이썬 풀이] 예산

첫 시도 코드 (실패) def solution(d, budget): answer = 0 visited = [0] * len(d) result = [] def dfs(sum_n, index, cnt): if sum_n > budget: return if index >= len(d): return result.append(cnt) if visited[index] == 0: visited[index] = 1 dfs(sum_n + d[index], index+1, cnt+1) visited[index] = 0 dfs(sum_n, index+1, cnt) dfs(0, 0, 0) answer = max(result) return answer 첫 시도는 dfs를 통해 모든 경우의 수를 생각하고 풀이했는데 시간초과가 ..

Programmers 2023.02.01
LIST