2023/11 4

[level 3] 등굣길

https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅ 행과열이 m,n이 아니라 n,m이라는 것에 유의하면 쉬운 문제! ✅ index를 0에서부터가 아니라 행 기준 [1,n], 열 기준 [1,m] 범위로 설정하면 더 간단함 #dynamic programming def solution(m, n, puddles): memo=[[0 for i in range(m+1)] for j in range(n+1)] memo[1][1]=1 for i i..

[level 3] N으로 표현

https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅ numbers라는 set()를 먼저 정의한다. DP[j]의 x와 DP[-j-1]의 y를 사칙연산해서 numbers에 add시켜준다. 이때 해당하는 값이 있으면 answer=i로 세팅한후에 return answer해준다. #풀이1 def solution(N, number): answer = -1 DP = [] for i in range(1, 9): numbers = set() numb..

[level 3] 여행경로

https://school.programmers.co.kr/learn/courses/30/lessons/43164?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅ collection으로부터 defaultdict를 import해줘서 딕셔너리 자료구조를 사용한다. 사용하는 함수는 init_graph()와 dfs() 두개!! ✅ init_graph(): 2차원 배열으로 입력받는 ticket을 x[0],x[1]을 기준으로 sort한다음에 routes에 key(x[0])와 value(x[1])를 매핑시켜준다. ✅ dfs(..

[level 2] 단어변환

https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅ dfs와 bfs 둘다의 방식으로 문제를 풀수 있는데 dfs에서 if문을 이중으로 한줄로 쓸수 있는 부분이 신기하기도 하고 효율적으로 보였다.. 익숙하지는 않지만 자연스럽게 쓸수 있도록 문제를 많이 풀어봐야겠다. #dfs answer=0 def dfs(begin,target,words,visited): global answer stacks=[begin] while stacks: sta..