코딩 테스트/프로그래머스
프로그래머스 Lv1부터 Lv3까지 풀이해본 문제들의 해결 과정과 코드를 공유하는 내용을 담습니다.
-
문제 보기 : 오픈채팅방 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(record): answer = [] rec = {} ans = [] for re in record: ls = re.split() if ls[0] == 'Enter': rec[ls[1]] = ls[2] k = ls[0] +' '+ ls[1] ans.append(k) elif ls[0] == 'Leave': ..
Lv2. 오픈채팅방문제 보기 : 오픈채팅방 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(record): answer = [] rec = {} ans = [] for re in record: ls = re.split() if ls[0] == 'Enter': rec[ls[1]] = ls[2] k = ls[0] +' '+ ls[1] ans.append(k) elif ls[0] == 'Leave': ..
2024.09.24 -
문제 보기 : 2 x n 타일링 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제정답률 : 56% 작성 코드 & 풀이# 1차 작성 코드import mathdef solution(n): answer = 0 num1 = n//2 num2 = n%2 while num1 > -1: method = math.factorial(num1+num2) // (math.factorial(num1)*math.factorial(num2)) answer += method%1000000007 num1 -= 1 ..
Lv2. 2 x n 타일링문제 보기 : 2 x n 타일링 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제정답률 : 56% 작성 코드 & 풀이# 1차 작성 코드import mathdef solution(n): answer = 0 num1 = n//2 num2 = n%2 while num1 > -1: method = math.factorial(num1+num2) // (math.factorial(num1)*math.factorial(num2)) answer += method%1000000007 num1 -= 1 ..
2024.09.22 -
문제 보기 : 가장 큰 수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제정답률 : 54%작성 코드def solution(numbers): if list(set(numbers)) == [0]: return "0" numbers = [str(i) for i in numbers] numbers.sort(key = lambda x:(x*4)[:4],reverse=True) answer = ''.join(numbers) return answer풀이리스트가 [2,7,46]라면, [7,46,2]로 정렬하여 "7462"..
Lv2. 가장 큰 수문제 보기 : 가장 큰 수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제정답률 : 54%작성 코드def solution(numbers): if list(set(numbers)) == [0]: return "0" numbers = [str(i) for i in numbers] numbers.sort(key = lambda x:(x*4)[:4],reverse=True) answer = ''.join(numbers) return answer풀이리스트가 [2,7,46]라면, [7,46,2]로 정렬하여 "7462"..
2024.09.21 -
문제 보기 : 체육복 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57% 작성 코드def solution(n, lost, reserve): more = [] lost = lost[::-1]; reserve=reserve[::-1] reserve, lost = list(set(reserve)-set(lost)), list(set(lost)-set(reserve)) for i in reserve: if i in lost: lost.remove(i) elif i+1 in ..
Lv1. 체육복문제 보기 : 체육복 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57% 작성 코드def solution(n, lost, reserve): more = [] lost = lost[::-1]; reserve=reserve[::-1] reserve, lost = list(set(reserve)-set(lost)), list(set(lost)-set(reserve)) for i in reserve: if i in lost: lost.remove(i) elif i+1 in ..
2024.09.19 -
문제 보기 : 코딩테스트 연습 - 최고의 집합 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(n, s): if s//n == 0: return [-1] start = [s//n]*n turn = s%n for i in range(turn): start[i] += 1 if sum(start) != s and len(start) != n: return [-1] else..
Lv3. 최고의 집합문제 보기 : 코딩테스트 연습 - 최고의 집합 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(n, s): if s//n == 0: return [-1] start = [s//n]*n turn = s%n for i in range(turn): start[i] += 1 if sum(start) != s and len(start) != n: return [-1] else..
2024.09.14 -
문제 보기 : 완주하지 못한 선수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(participant, completion): part = {} for i in participant: if i in part: part[i] += 1 else: part[i] = 1 for i in completion: part[i] -= 1 if part[i] == 0: del..
Lv1. 완주하지 못한 선수문제 보기 : 완주하지 못한 선수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(participant, completion): part = {} for i in participant: if i in part: part[i] += 1 else: part[i] = 1 for i in completion: part[i] -= 1 if part[i] == 0: del..
2024.09.13 -
문제 보기 : 대충 만든 자판 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(keymap, targets): answer = [] push = {} for key in keymap: for k in range(len(key)): if key[k] not in push: push[key[k]] = k+1 if push[key[k]] > k+1: push[key[k]] = k+1 ..
Lv1. 대충 만든 자판문제 보기 : 대충 만든 자판 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(keymap, targets): answer = [] push = {} for key in keymap: for k in range(len(key)): if key[k] not in push: push[key[k]] = k+1 if push[key[k]] > k+1: push[key[k]] = k+1 ..
2024.09.13 -
문제 보기 : 구명보트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 70%작성 코드from collections import dequedef solution(people, limit): people = deque(sorted(people)) answer = 0 s = 0 ; e = -1 while len(people) > 1: if people[s] + people[e] > limit: people.pop() else: people.pople..
Lv2. 구명보트문제 보기 : 구명보트 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 70%작성 코드from collections import dequedef solution(people, limit): people = deque(sorted(people)) answer = 0 s = 0 ; e = -1 while len(people) > 1: if people[s] + people[e] > limit: people.pop() else: people.pople..
2024.09.11