문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(d, budget): answer = 0 for team_budget in sorted(d): budget -= team_budget if budget < 0: break answer += 1 return answer *key point: 최대한 많은 부서에 주기 위해서 배열을 오름차순으로 정렬한 뒤 전체 예산에서 음수가 될 때까지 하나씩 빼준다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(n): answer = 0 for i in range(2, n + 1): for j in range(2, int(i**0.5) + 1): if i % j == 0: break; else: answer += 1 return answer *key point: 특정 수가 소수임을 판별하기 위해서는 2~제곱근까지만 나누어보면 된다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(n): ternary = '' while n: ternary = str(n % 3) + ternary n = n // 3 answer = sum([num*3**i for i, num in enumerate(map(int, ternary))]) return answer *key point: while과 문자열을 이용하여 주어진 수를 3진법으로 변환한 뒤 각 자리수 값을 이용하여 list comprehension으로 10진법으로 변환해준다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 import math def solution(a, b): answer = [math.gcd(a,b), a*b/math.gcd(a,b)] return answer *key point: math 모듈의 최대공약수를 구하는 gdc함수를 이용하면 쉽게 구할 수 있다. 최소공배수는 두 수의 곱 나누기 최대공약수이다. *comment: 모듈을 이용하지 않는다면 최대공약수를 구하는 방법으로 유클리드 호제법이 대표적이다. 이를 이용한 코드는 아래와 같다. *Jaesun Park, ...님의 풀이 def..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(price, money, count): answer = max(0, ((1+count)*price)/2*count - money) return answer *key point: 등차수열의 합 공식을 이용해서 필요한 금액을 구한 뒤 money를 빼면 필요한 돈이 나온다. max 함수를 이용하여 음수가 나오는 경우 0을 return한다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(num): for i in range(500): if num == 1: answer = i return answer if num % 2 == 0: num /= 2 else: num = num*3 +1 answer = -1 return answer *key point: 500번의 횟수 제한이 있기 때문에 반복문을 통해 쉽게 해결할 수 있다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(s): word_list = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] for word in word_list: if word in s: s = s.replace(word, str(word_list.index(word))) answer = int(s) return answer *key point: 영단어 리스트를 만들어 둔 뒤, 반복문을 통해서 각 단어를 찾아 해당..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(array, commands): answer = [] for command in commands: answer.append(sorted(array[command[0]-1:command[1]])[command[2]-1]) return answer *key point: 리스트의 index에 유의하기만 하면 어렵지 않게 풀 수 있다. *comment: for문을 사용해서 리스트의 요소별로 반복할 때 다음과 같은 방식으로 보다 간단한 풀이가 가능하다. def solutio..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[i])): arr1[i][j] = arr1[i][j] + arr2[i][j] return arr1 *key point: 반복문을 이용하여 두 2차원 배열의 같은 index의 요소들을 더한다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(arr, divisor): answer = sorted([e for e in arr if e % divisor == 0]) if len(answer) == 0: answer = [-1] return answer *key point: list comprehension, sorted 함수 활용하여 주어진 조건의 list를 얻는다. 결과가 빈 리스트인 경우에만 [-1] 을 할당한다. *comment: 아래와 같이 or 을 활용하면 빈 리스트인 경우에 대한 리턴을 쉽게 해..
- Total
- Today
- Yesterday
- 24723
- 24313
- MySQL
- 17103
- 25501
- 26069
- Python
- 25192
- 20920
- 1269
- 5597
- 백준
- Programmers
- 4134
- 코육대
- 벡준
- 24060
- 항해+
- SQL
- 10807
- 2587
- til
- 항해 플러스
- 2738
- programmer
- 2903
- 2053
- 13241
- 13909
- Wil
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |