Algorithm/프로그래머스

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(players, callings): for i in callings: idx = players.index(i) players[idx-1], players[idx] = players[idx], players[idx-1] return players 그냥 swap 하면 쉽게 풀리는 문제 아닌가?라고 덤벼들었다가 시간 초과를 만나게 되었다. calling의 최대 길이가 1,000,000이고, players의 최대 길이가 50,000이기 때문에 idx 하나를 구하기 위해선 1,..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(participant, completion): for i in completion: if i in participant: participant.remove(i) return ''.join(participant) 어렵지 않은 문제이기 때문에 쉽게 코드를 작성할 수 있었다. 하지만 정확성 테스트는 모두 통과하지만 효율성 테스트는 시간 초과로 실패하였다. 내가 작성한 코드에서 시간을 많이 소요되는 부분을 생각해 보니 for문과 remove임을 알 수 있었다. completi..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import Counter def solution(X, Y): x = Counter(X) y = Counter(Y) answer = '' for i in range(10): answer += str(i) * (min(x[str(i)], y[str(i)])) if answer == '': return '-1' answer = ''.join(sorted(answer, reverse=True)) if answer[0] == '0': return '0' else: return an..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def isPrime(x): count = [0] * (x+1) for i in range(1, x+1): for j in range(1, i+1): if i % j == 0: count[i] += 1 return count def solution(number, limit, power): return sum([power if i > limit else i for i in isPrime(number)]) 1부터 number까지의 수가 가지는 약수의 개수를 구하기 위해 isPrime(x) 함수를..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(n, m, section): range = section[-1] - section[0] + 1 if range > m: answer = sum(divmod(range,m)) else: answer = 1 return answer 주어진 section의 0번째 값과 마지막 -1번의 값을 이용하여 범위를 구하였다. 그 범위가 롤러의 길이 m보다 크면 m으로 나눴을 때 몫과 나머지를 더하면 section[0]부터 section[-1]까지 칠해야 하는 횟수가 된다. m보다 작..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(lottos, win_nums): answer = [0,0] # 최고순위, 최저순위 c = 0 # 일치한 숫자 개수 n = lottos.count(0) # 알아볼 수 없는 번호(0) 개수 lot = {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6} for i in lottos: if i in win_nums: c += 1 answer[0], answer[1] = lot[c+n], lot[c] return answer 실제 코딩테스트에서 진행했던 문제들을 풀 때마다 이..
dduniverse
'Algorithm/프로그래머스' 카테고리의 글 목록 (6 Page)