코딩 테스트/프로그래머스
프로그래머스 Lv1부터 Lv3까지 풀이해본 문제들의 해결 과정과 코드를 공유하는 내용을 담습니다.
-
문제 보기 : 택배상자 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드from collections import dequedef solution(order): answer = 0 ; ans = [] ls = [i+1 for i in range(len(order))] subcontainer = deque() ; container = deque(ls) for i in range(len(order)): if order[i] in subcontainer and order[i]==subcontai..
Lv2. 택배상자문제 보기 : 택배상자 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드from collections import dequedef solution(order): answer = 0 ; ans = [] ls = [i+1 for i in range(len(order))] subcontainer = deque() ; container = deque(ls) for i in range(len(order)): if order[i] in subcontainer and order[i]==subcontai..
2024.09.10 -
문제 보기 : 문자열 나누기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(s): answer = 0 t = {} ; a = s[0] ; k = "no"+a for i in s: if len(t)==0: answer += 1 t[i] = 1 a = i else: k = "no"+a if i == a: t[a] += 1 e..
Lv1. 문자열 나누기문제 보기 : 문자열 나누기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(s): answer = 0 t = {} ; a = s[0] ; k = "no"+a for i in s: if len(t)==0: answer += 1 t[i] = 1 a = i else: k = "no"+a if i == a: t[a] += 1 e..
2024.09.09 -
문제 보기 : 주차 요금 계산 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드import mathdef solution(fees, records): car = {} ; times = {} ; money = {} for re in records: time, carnum, inout = re.split() if inout == 'IN': car[carnum] = time if carnum not in money: times[..
Lv2. 주차 요금 계산문제 보기 : 주차 요금 계산 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드import mathdef solution(fees, records): car = {} ; times = {} ; money = {} for re in records: time, carnum, inout = re.split() if inout == 'IN': car[carnum] = time if carnum not in money: times[..
2024.09.09 -
문제 보기 : 둘만의 암호 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(s, skip, index): answer = '' alpha = [chr(i) for i in range(97,123)]*3 for i in s: ss = alpha.index(i) fin = ss+index ls = alpha[ss:fin+1] while True: a = 0 for j in ls: ..
Lv1. 둘만의 암호문제 보기 : 둘만의 암호 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 58%작성 코드def solution(s, skip, index): answer = '' alpha = [chr(i) for i in range(97,123)]*3 for i in s: ss = alpha.index(i) fin = ss+index ls = alpha[ss:fin+1] while True: a = 0 for j in ls: ..
2024.09.05 -
문제 보기 : 단어 변환 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드def solution(begin, target, words): b = len(begin) if target not in words: return 0 if begin in words: words.remove(begin) words.remove(target) words.append(target) ## 차이가 1만큼 나는 단어들 allword = [begin] + words allwor..
Lv3. 단어 변환문제 보기 : 단어 변환 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드def solution(begin, target, words): b = len(begin) if target not in words: return 0 if begin in words: words.remove(begin) words.remove(target) words.append(target) ## 차이가 1만큼 나는 단어들 allword = [begin] + words allwor..
2024.09.04 -
문제 보기 : 숫자 변환하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(x, y, n): answer = 0 an = [x] if x == y: return 0 while y not in an: a = [] ; answer += 1 for i in an: j = [i+n,i*2,i*3] if y in j: return answer else: ..
Lv2. 숫자 변환하기문제 보기 : 숫자 변환하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 57%작성 코드def solution(x, y, n): answer = 0 an = [x] if x == y: return 0 while y not in an: a = [] ; answer += 1 for i in an: j = [i+n,i*2,i*3] if y in j: return answer else: ..
2024.09.03 -
문제 보기 : 겹치는 선분의 길이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드def solution(lines): answer = 0 # lines.sort(key = lambda x:(x[0],x[1])) for i in range(len(lines)): lines[i] = [str(j)+'-'+str(j+1) for j in range(lines[i][0],lines[i][1])] intersect = [] l1 = list(set(lines[0]) & set(..
Lv0. 겹치는 선분의 길이문제 보기 : 겹치는 선분의 길이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 59%작성 코드def solution(lines): answer = 0 # lines.sort(key = lambda x:(x[0],x[1])) for i in range(len(lines)): lines[i] = [str(j)+'-'+str(j+1) for j in range(lines[i][0],lines[i][1])] intersect = [] l1 = list(set(lines[0]) & set(..
2024.09.02 -
문제 보기 : 더 맵게 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 60%작성 코드import heapqdef solution(scoville, K): answer = 0 heapq.heapify(scoville) while True: j1 = heapq.heappop(scoville) if j1 난 heaqp를 잘 쓰지 않고 보통 리스트와 sort를 많이 썼는데,이 문제는 heapq가 필요할 것 같아서 공부했다.아래는 원소 입력 방법 / 리스트 자체로 입력 방법 / 맨 작은 원소 빼기 순..
Lv2. 더 맵게문제 보기 : 더 맵게 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제정답률 : 60%작성 코드import heapqdef solution(scoville, K): answer = 0 heapq.heapify(scoville) while True: j1 = heapq.heappop(scoville) if j1 난 heaqp를 잘 쓰지 않고 보통 리스트와 sort를 많이 썼는데,이 문제는 heapq가 필요할 것 같아서 공부했다.아래는 원소 입력 방법 / 리스트 자체로 입력 방법 / 맨 작은 원소 빼기 순..
2024.09.02