리코쳇 로봇 (BFS)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 한 번의 이동 : 상, 하, 좌, 우 4방향 중 하나를 선택해 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것 1. 다음 좌표 값을 board 격자 안 장애물이 아닐 때까지 이동 후 지정 2. 방문하지 않았다면 현재 이동수 +1 저장 . . . D . . R . D . G . . . . . . . D . D D . . . . D . . D . . . . . 아래, 왼쪽,..
다단계 칫솔 판매 (트리, 리스트 인덱스, 딕셔너리, 재귀)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 판매원에게 배분된 이익금의 총합을 계산하여(정수형으로), 입력으로 주어진 enroll에 이름이 포함된 순서에 따라 나열 seller, amount에 따른 이익이 날때마다 배분금액 계산 후 잔여량 수익금에 저장 풀이 1. 리스트 인덱스 딕셔너리 저장 def solution(enroll, referral, seller, amount): money = [0 for _ in range(len(enr..
110 옮기기 (스택)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/77886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 1. 배열 돌면서 '110' 전부 제거한 리스트 생성 (스택) 2. '1'이 연속되는 인덱스 구하기 3. '1'이 연속되는 인덱스 이전에 '110' 개수만큼 추가 '0 1 1 1 1 1 1 0 1 0' 1. 110전부 제거 : ['0', '1', '1', '1'] 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 2. 1이 연속되는 인덱스 : 3 3. 110' 개수만..
풍선 터트리기 (스택, 최솟값 비교, memoization)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/68646 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 배열의 양쪽의 최솟값 중 하나라도 자신보다 클 경우 끝까지 남을 수 있음 배열 인덱스 값마다 최솟값을 일일히 계산하면 시간초과 풀이 1. stack Time: 135.97 ms def solution(a): stack = [] for x in a: if len(stack) = 2 and stack[-2] < st..
괄호 회전하기 (스택)
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr s를 왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때 s가 올바른 괄호 문자열이 되게 하는 x의 개수를 return def solution(s): answer = 0 n=len(s) pair={'(':')', '{':'}','[':']'} for i in range(n): # 문자열 인덱스 stack=[] flag=True for j in range(n): # 왼쪽으로 회전 tm..
광물캐기
·
Coding Test/programmers
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 사용할 수 있는 곡괭이중 아무거나 하나를 선택해 광물을 캡니다. 한 번 사용하기 시작한 곡괭이는 사용할 수 없을 때까지 사용합니다. 광물은 주어진 순서대로만 캘 수 있습니다. 광산에 있는 모든 광물을 캐거나, 더 사용할 곡괭이가 없을 때까지 광물을 캡니다. picks [1, 3, 2] ([dia, iron, stone]과 같은 구조) minerals ["diamond", "diamond",..