[프로그래머스] 등굣길 Python
·
개발💻/알고리즘
이 문제는 손으로 풀면 진짜 쉽게 할수있는데 ㅎ.. 고딩때 순열조합에 나름 자주 나왔던 문제였다 쨌든 그때의 기억을 살려서 손으로 풀던걸 코드로 재현했다 def solution(m, n, puddles): road = [[0] * m for _ in range(n)] for puddle in puddles: road[puddle[1]-1][puddle[0]-1] = -1 for i in range(1,n): if road[i][0] != -1: road[i][0] = 1 else: break for i in range(1, m): if road[0][i] != -1: ..
[프로그래머스] 이중우선순위큐 Python
·
개발💻/알고리즘
def solution(operations): q = [] for command in operations: if command[0] == "I": q.append(int(command[2:len(command)])) elif command == "D -1": if len(q) > 0: q.remove(min(q)) else: if len(q) > 0: q.remove(max(q)) if len(q) > 0: answer = [max(q), min(q)] else: answer = [0, 0] return ..
[프로그래머스] 정수 삼각형 Python
·
개발💻/알고리즘
def solution(triangle): for i in range(len(triangle)): if i == 0: continue for j in range(len(triangle[i])): if j == 0: triangle[i][0] += triangle[i-1][0] elif j == len(triangle[i])-1: triangle[i][j] += triangle[i-1][j-1] else: triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j]) a..
[프로그래머스] 단어변환 Python
·
개발💻/알고리즘
나름 평범한? dfs bfs 문제인거같은데 고민이 된게 방문한 단어를 기록하는 visited를 함수를 돌면서 들고다녀야 하나 그냥 함수 밖에 두고 사용해도 되나였다 함수 밖에두고 실행했더니 무한 재귀에 걸려 에러가 났다.. 그래서 결론은 visited도 들고 다녀야한다!! def solution(begin, target, words): answer = 0 answers = [] def search(count, keyword, visited): if keyword == target: answers.append(count) return for word in words: if word not in visited: diff_count = 0 for i in range(len(begin)): if keyword[..
[프로그래머스] 베스트앨범 Python
·
개발💻/알고리즘
그냥 내림차순 오름차순은 간단히 sort를 쓰면 되는거같은데 만약에 리스트가 [[a,2],[b,8],[c,1]] 이런식으로 있을때 특정 인덱스의 값으로 정렬하려면 어떻게해야할가?? sorted_arr = sorted(arr, key=lambda x: (x[1]) 요런식으로 하면 인덱스 1번째 값을 기준으로 정렬이 된다 위에 예시에서는 숫자가 작은순으로 될것이다 근데 첫번째 인덱스 값으로 정렬하고 만약 값이 같으면 0번째 인덱스 값으로 정렬하려면? sorted_arr = sorted(arr, key=lambda x: (x[1],x[0]) 이런식으로 하면 된다고 한다 아무튼 나는 이 문제를 만나서 거의 모든 정보를 넣은 배열을 만들고 적절하게 정렬하여 문제를 해결했다 (변수 이름 정하는게 젤 어려움.. ㅋㅋ..