본문 바로가기

알고리즘

(117)
[Python] H-index https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 풀이(틀림) # H-index def solution(citations): citations.sort() answer = [] for i in range(len(citations)): if len(citations) - i = len(citations) - idx : return len(citations) - idx return 0 비슷하지만 만족하는 idx가 없을 때 0을 리턴하는 부분..
[Python] 멀리 뛰기 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): import math as m if n == 1: return 1 else: answer = 1 max_l = n//2 i = 1 while n >= max_l: n -= 1 a = m.comb(n,i) answer += a i += 1 return answer % 1234567
[Python] 점프와 순간 이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 더보기 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간..
[Python] 두 개 뽑아서 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 두 개 뽑아서 더하기 def solution(numbers): answer = [] for i in range(len(numbers)-1): for j in range(i+1, len(numbers)): answer.append(numbers[i]+numbers[j]) answer = sorted(list(set(answer))) return answer sorted함수가 애초에 정렬한 후 리..
[Python] N개의 최소공배수 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # N개의 최소공배수 def solution(arr): import math gcd = 0 lcm = 0 i=0 while i < len(arr)-1: if lcm==0: gcd = math.gcd(arr[i], arr[i+1]) lcm = arr[i] * arr[i+1] // gcd i += 1 else: gcd = math.gcd(lcm, arr[i+1]) lcm = lcm * arr[i+1]..
[Python] 삼총사 https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 시도 # 삼총사 # 틀렸음. # b와 c의 범위 설정이 잘못됐음. def solution(number): length = len(number) answer = 0 comb_list = [] for a in range(0, length-2): for b in range(a+1, length-1): for c in range(a+2, length): if a != b and b != c a..
[Python] 구명 보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 시간 초과가 나옴 def solution(people, limit): people.sort() answer = 0 while len(people)>1: if people[-1] + people[0]
[Python] 숫자 문자열과 영단어 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 숫자 문자열과 영단어 def solution(s): word2idx = { 'zero' : '0', 'one' : '1', 'two': '2', 'three' : '3', 'four' : '4', 'five': '5', 'six': '6', 'seven' : '7', 'eight' : '8', 'nine' : '9' } num = '' n_list = [] for i in range(len(s..