728x90

Total

728x90

    [프로그래머스] 조이스틱 (완전 탐색)

    https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 조이스틱 변환 횟수 = 알파벳 변환 횟수 + 이동 횟수이므로 알파벳마다 변환 횟수를 계산해 조이스틱 변환 횟수에 추가한다. A에서 B로가는 (위로) 숫자 카운트 A에서 Z로가는 (아래로) 숫자 카운트 둘 중에 최솟값을 추가 알파벳마다 이동 횟수를 계산해 최솟값을 조이스틱 변환 횟수에 추가한다. 좌,우 이동 시 바꿔야 할 남은 문자가 A뿐이면 더 진행하지 않아도 되므로 연속하는 A의 인덱스를 ..

    [프로그래머스] 과제 진행하기 (정렬, 시간 문자열 비교)

    https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 과제를 시작 시간 순으로 정렬 과제의 시작시간을 분단위로 통일해서 저장 (ex: 11:40 → 11*60+40 = 700) 과제를 돌면서 현재 과제 종료시간과 다음 과제의 시작시간 비교 현재 과제 종료시간이 더 크다면 (안끝남) playtime(과제 마치는데 필요한 시간)에서 수행한 시간( 다음 과제 시작시간-현재 과제 시작시간) 만큼 빼서 대기 큐에 저장 현재 과제 종료시간이 더 작다면 ..

    [프로그래머스] 우박수열 정적분 (평행사변형 넓이)

    https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 k =5 ranges = [0,0],[0,-1],[2,-3],[3,-3]] 5 라면 5 ⇒ 16 ⇒ 8 ⇒ 4 ⇒2 ⇒ 1 이되어 총 5번만에 1 tmp = [5.0, 16, 8.0, 4.0, 2.0, 1.0] 평행사변형의 넓이 = (변+변)*높이/2 x :0~1 ➔ (5+16)*1/2 = 10.5 x :1~2 ➔ (16+8)*1/2 = 12.0 x :2~3 ➔ (8+4)*1/2 = 6.0..

    [프로그래머스] 연속 펄스 부분 수열의 합 (누적합, 구간합, DP)

    https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 [2, 3, -6, 1, 3, -1, 2, 4] sequence 2 3 -6 1 3 -1 2 4 -1 1 펄스 -2 3 6 1 -3 -1 -2 4 -1 1 펄스 누적합 -2 1 7 8 5 4 2 6 1 -1 펄스 2 -3 -6 -1 3 1 2 -4 1 -1 펄스 누적합 2 -1 -7 -8 -5 -4 -2 -6 구간합 최댓값 구하기 = max(누적합리스트) - min(누적합리스트) 더보기 2..

    [프로그래머스] 두 원 사이의 정수 쌍 (피타고라스)

    https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 https://karla.tistory.com/392 점 찍기 (피타고라스) https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞 karla.tistory.com 풀이 from math im..

    디펜스 게임 (우선순위큐, 힙)

    https://school.programmers.co.kr/learn/courses/30/lessons/142085# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 통과 못하는 시점의 인덱스 = 몇 라운드까지 막을 수 있는지 병사의 수 n=7 사용 가능한 무적권의 횟수 k = 3 라운드마다 공격해오는 적의 수 enemy = [4, 2, 4, 5, 3, 3, 1] 인덱스 힙 병사수 0 [4] 7 1 [2, 4] 7 2 [2, 4, 4] 7 3 [2, 4, 4, 5] (한 라운드 무적권 사용불가하므로 병사 수 계산) 5 4 [2, 3, 4, 5, 4] ..

    리코쳇 로봇 (BFS)

    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 . . . . . 아래, 왼쪽,..

    다단계 칫솔 판매 (트리, 리스트 인덱스, 딕셔너리, 재귀)

    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 옮기기 (스택)

    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)

    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..