본문 바로가기

분류 전체보기26

[LeetCode] 1578. Minimum Time to Make Rope Colorful (Python) 1578번 문제 링크 https://leetcode.com/problems/minimum-time-to-make-rope-colorful/ Minimum Time to Make Rope Colorful - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제설명 입력: colors 문자열, neededTime 정수 배열 출력: 풍선제거 최소시간 Alice는 같은 색깔의 풍선이 2개 이상 연속되는 것을 싫어한다고 한다. (성질 머리 하고는..) Bob에게 연속된 풍.. 2022. 10. 4.
[LeetCode] 658. Find K Closest Elements (Python) 658번문제 링크 https://leetcode.com/problems/find-k-closest-elements/ 문제설명 입력: 정렬된 정수 배열 arr, 두 정수 k, x 출력: x와 가장 가까운 정수 k개를 담은 오름차순 배열 예시로 x와 더 가까운 것에 대한 정의로는 비교하고자 하는 값과 x의 차의 절댓값이 작은 것이 더 가까운 것으로 정의되고 절댓값이 같을경우 값이 더 작은 것이 x와 더 가까운 것으로 정의된다. 문제예제 Example1에서 보면 x = 3 이기 때문에 3과 가장 가까운 arr의 원소들을 살펴보면 (문제 정의에 따르면) 3, 2, 4, 1, 5 순서대로 arr과 가까운 것을 알 수 있다. 문제풀이 1. arr의 정렬순서를 x와 가장 가까운 순으로 정렬 하고자 했다. 2. sor.. 2022. 9. 29.
[프로그래머스] 단어 변환 (Python) Stack 과 Dictionary를 이용해 풀이 하였습니다. from collections import defaultdict def check(word1, word2): # 1개의 알파벳만 다른 문자 확인 cnt = 0 for i in range(len(word1)): if word1[i] != word2[i]: cnt += 1 if cnt == 1: return True else: return False def solution(begin, target, words): if target not in words: return 0 graph = defaultdict(list) for i in words: if check(begin, i): graph[begin].append(i) for i in range(.. 2022. 6. 23.
[프로그래머스] [1차] 프렌즈4블록 (Python) def return_xy(m,n,board): # 2*2 형태로 사라질 블록의 왼쪽위 블럭의 좌표값 리턴 arr = [] for i in range(m): for j in range(n): if i+1 < m and j+1 < n: if board[i][j] and board[i][j] == board[i][j+1] == board[i+1][j] == board[i+1][j+1]: # 왼쪽위 블록 기준으로 그 값이 0이 아니고 오른쪽, 아래, 오른쪽 아래 블록의 값이 값으면 좌표값 저장 arr.append([i,j]) return arr def check(m,n, board): # 2*2 형태로 사라질 블록이 있는지 확인 for i in range(m): for j in range(n): if i+1 <.. 2022. 6. 9.