문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def findCoordinate(keynum): keypad = [[1,2,3],[4,5,6],[7,8,9],['*', 0, '#']] return [[i,j] for i in range(4) for j in range(3) if keypad[i][j]==keynum][0] def calDistance(a, b): return sum([abs(findCoordinate(a)[i]-findCoordinate(b)[i]) for i in [0,1]]) def solution(numbers,..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(number): answer = 0 l = len(number) for i in range(l): for j in range(i+1, l): for k in range(j+1, l): if number[i] + number[j] + number[k] == 0: answer += 1 return answer *key point: 중첩 반복문을 활용하여 number의 중복되지 않는 세 요소를 골라 그 합이 0인 경우만 세어준다. *다른 사람의 풀이(knine3 , 최승..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(k, m, score): answer = 0 score.sort(reverse=True) for i in range(m - 1, len(score), m): answer += score[i] * m return answer *key point: score를 내림차순으로 정리하면 m-1번째 요소부터, m마다 각 box의 가장 작은 점수의 사과가 되는 것을 이용한다. *leejuhanKr , 명훈 , imsiyun , Daeho Kim , onion.lauv@gmail..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(food): answer = '0' for i, num in enumerate(food[:0:-1]): food_num = len(food)-i-1 answer = str(food_num) * (num//2) + answer + str(food_num) * (num//2) return answer *key point: 주어진 문자열을 만들기 위해서 반복문, enumerate 함수를 활용한다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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(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..
- Total
- Today
- Yesterday
- 1269
- 24060
- 24313
- 벡준
- Wil
- 2738
- 백준
- 4134
- SQL
- Python
- 항해 플러스
- 항해+
- 2587
- 5597
- 13241
- programmer
- 26069
- 10807
- MySQL
- 25501
- 20920
- 2053
- Programmers
- 13909
- til
- 코육대
- 17103
- 24723
- 2903
- 25192
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |