프로그래머스

💭 나의 접근 방법5123 으로 이동해야하는 타자의 경우 5로 이동할 때 1을 고려해야 하기 때문에 왼쪽 오른쪽중 최선의 것을 고를수있는것이 불가능. 따라서 브루투포스는 불가따라서 앞에서 나온 경로값을 가지고 있어야한다. 누적비용→ DP숫자 하나씩 처리하며, 왼손으로 누를 경우와 오른손으로 누를 경우 이동비용을 모두 처리한다. 처리 후 갱신! 동일한 값이 있을 수 있기 때문에 최솟값으로 넣어준다. 🤔 이동 비용은 어떻게 처리할까?2차원 격자의 거리를 이용해 계산$dx=∣x1−x2∣$ : 행간의 차이$dy=∣y1−y2∣$ : 열간의 차이대각선 이동 비용$3 \times min(dx,dy)$상하좌우 이동 비용남은 행 이동: $dx-min(dx,dy)$남은 열 이동: $dy-min(dx,dy)$$2 \ti..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 나의 접근 방법 1. "문자열" + x 를 이중 반복문을 통해서 확인한다? -> 최악의 경우 O(n^1) 시간발생 2. 해시로 모든 값을 저장하고 replace() 이용? 3. 정렬을해 길이가 짧은것부터 탐색한다? ✨ 정답 정렬을 이용하는 방법 정렬 sort를 이용하지만, 나는 각 인덱스의 len() 순서대로 정렬을 생각했다. 문제에서는 숫자로 된 문자열이였고, 이는 정렬에 활용할 수 있다. 1️⃣ 접근 방법 1 문자열을 정렬시 오름차순으로 정렬하게 되어있다. 숫자 문자열의 경우 앞에서부터 차례대로 오름차..
aAb1B2cC34oOp 이와 같은 문자열에서 숫자를 찾아 합하는 문제 -> 1 + 2 + 34 = 37 방법 1. 영문자를 ‘ ‘ 공백으로 변환하고 split() 을 이용해 리스트를 분할하여 숫자만 계산한다. def solution(my_string): # 알파벳이면 공백으로 변환하기 for i in my_string: if i.isalpha(): my_string = my_string.replace(i,' ') my_string = map(int,my_string.split()) return sum(my_string) 방법 2. 정규표현식 이용 정규표현식 (Regular expressions) 은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식을 이용해 문자열 내..
제로__zero
'프로그래머스' 태그의 글 목록