Python/Programmers 20

[프로그래머스/Python] Lv 2. 주식가격

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 from collections import deque def solution(prices): answer = [] prices = deque(prices) while prices: time = 0 price = prices.popleft() for p in prices: time += 1 if p < price: break answer.append(time) retur..

Python/Programmers 2023.05.01

[프로그래머스/Python] Lv 2. 롤케이크 자르기

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 ❌ 시간초과 def solution(topping): answer = 0 for i in range(len(topping)): a = set(topping[:i]) b = set(topping[i:]) if len(a) == len(b): answer += 1 return answer 리스트 슬라이싱을 사용했더니 시간초과가 발생했다!.. ⭕ 통과 from collec..

Python/Programmers 2023.05.01

[프로그래머스/Python] Lv 2. 숫자 변환하기

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 # dp 알고리즘 # 현재까지 도달하는 데 연산 수 + 1 과 도달하려고하는 수에 저장된 값을 비교하여, # 작은 값을 현재 연산 수로 저장 def solution(x, y, n): answer = 0 d = [1e9] * (y+1) # 큰 수로 초기화 d[x] = 0 for i in range(x, y+1): # n을 더하는 경우 if i+n

Python/Programmers 2023.04.23

[프로그래머스/Python] Lv 1. 바탕화면 정리

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(wallpaper): x_loc = [] y_loc = [] for i in range(len(wallpaper)): for j in range(len(wallpaper[i])): if wallpaper[i][j]=="#": x_loc.append(i) y_loc.append(j) start = [min(x_loc), min(y_loc)] en..

Python/Programmers 2023.04.23

[프로그래머스/Python] Lv 2. 큰 수 만들기

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 # 탐욕법 def solution(number, k): answer = '' stack = [] for n in number: while stack and (stack[-1] 0): stack.pop() k -= 1 stack.append(n) # [4] - [4,1] - [4] - [] - [7] - [7,7] - [7,7,2] # - [7,..

Python/Programmers 2023.04.23

[프로그래머스/Python] Lv1. 성격 유형 검사하기

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(survey, choices): answer = '' score = {1:-3, 2:-2, 3:-1, 4:0, 5:1, 6:2, 7:3} types = {"R":0, "T":0, "F":0, "C":0, "M":0, "J":0, "A":0, "N":0} # 타입별 점수 sets = [("R","T"), ("C","F"), ("J","M"),("..

Python/Programmers 2023.04.21

[프로그래머스/Python] Lv 2. 2개 이하로 다른 비트

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(numbers): answer = [] for n in numbers: # 짝수일 경우 if n%2 == 0: # 바로 다음에 오는 수가 답 answer.append(n+1) # 홀수일 경우 else: temp = '0' + bin(n)[2:] idx = temp.rfind('0') # 오른쪽부터 문자찾기 temp = list(temp) # 가장..

Python/Programmers 2023.04.21

[프로그래머스/Python] Lv 1. 공원산책

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(park, routes): x, y = 0, 0 # 시작점 w, h = len(park[0]), len(park) # 가로, 세로 op = {"N":(-1,0), "S":(1,0), "W":(0,-1), "E":(0,1)} # 시작점 for i in range(h): for j in range(w): if park[i][j]=="S": x, y..

Python/Programmers 2023.04.21

[프로그래머스/Python] Lv 0. 로그인 성공?

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(id_pw, db): answer = '' db_dict = {user[0]:user[1] for user in db} if id_pw[0] in db_dict: if id_pw[1]==db_dict[id_pw[0]]: answer = "login" else: answer = "wrong pw" else: answer = "fail" retur..

Python/Programmers 2023.04.18

[프로그래머스/Python] Lv 1. 대충 만든 자판

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(keymap, targets): answer = [] keymaps = {} for key in keymap: for k in key: if k not in keymaps: keymaps[k] = key.index(k)+1 else: if (key.index(k)+1) < keymaps[k]: keymaps[k] = key.index(k)+1 ..

Python/Programmers 2023.04.18