[프로그래머스] 소수 만들기 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12977
2. 풀이
import math
from itertools import combinations
def is_sosu(number):
for i in range(2, int(math.sqrt(number))+1):
if number % i == 0:
return False
return True
def solution(nums):
answer = 0
for x in list(combinations(nums, 3)):
if...
[프로그래머스] x만큼 간격이 있는 n개의 숫자 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12954
2. 풀이
def solution(x, n):
return [x * (_+1) for _ in range(n)]
[프로그래머스] 자릿수 더하기 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12931
2. 풀이
def solution(n):
return sum([int(x) for x in str(n)])
[프로그래머스] 불량 사용자 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/64064
2. 풀이
불량 아이디 별로 가능한 user id 를 확인합니다.
구한 아이디들을 dfs 를 이용하여 가능한 모든 경우의 수를 구합니다.
def solution(user_id, banned_id):
ban_users = [[] for x in range(len(banned_id))]
# 1. 각 불량 아이디 별로 가능한 user id 확인
for b_idx, ban in enumerate(banned_id):
for u_idx, user in enum...
[프로그래머스] 폰켓몬 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/1845
2. 풀이
2.1. python
def solution(nums):
N = len(nums)/2
nums = set(nums)
return len(nums) if N >= len(nums) else N
2.2. C++
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int solution(vector<int> nums)
{
se...
[프로그래머스] 내적 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/70128
2. 풀이
def solution(a, b):
answer = 0
for i in range(len(a)):
answer += (a[i] * b[i])
return answer
[프로그래머스] 시저 암호 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12926
2. 풀이
def solution(s, n):
answer = ''
for x in s:
if x.isalpha() == False:
answer += x
continue
if x.islower():
base = 'a'
else:
base = 'A'
answer += chr(ord(base) + ((ord(x) + n - ord...
[프로그래머스] 문자열 내림차순으로 배치하기 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12917
2. 풀이
def solution(s):
K = list(s)
K.sort(reverse=True)
return "".join(K)
[프로그래머스] 땅따먹기 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12913
2. 풀이
dp 를 이용해서 문제를 해결합니다. 현재 위치로 올 수 있는 경로까지의 값 중에서 가장 큰 값과 현재의 값을 더하는 식을 반복합니다.
def solution(land):
dp = [[0]*4 for i in range(len(land))]
for i, x in enumerate(land[0]):
dp[0][i] = land[0][i]
for i in range(1, len(land)):
dp[i][0] = max(dp[i -...
[프로그래머스] 야근 지수 문제 풀이
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12927
2. 풀이
힙을 사용해서 제일 큰 숫자부터 1씩 빼주는 작업을 수행합니다. 가장 큰 수가 1씩 감소하는 것이 다른 수가 1씩 감소하는 것보다 훨씬 더 값을 줄일 수 있습니다.
import heapq
def solution(n, works):
heap = []
for x in works:
heapq.heappush(heap, -x)
for i in range(n):
bigger = -heapq.heappop(heap)
...
879 post articles, 88 pages.