알고리즘/프로그래머스 (43) 썸네일형 리스트형 [프로그래머스]Lv3. 파괴되지 않은 건물(Python) https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 그냥 주어진 대로 구현하면, 1. type 별로 적의 공격이 있을 경우 내구도 감소, 회복일 경우 내구도 증가를 반복문을 사용해 board를 갱신 2. 마지막에 반복문을 돌면서 1이상일 경우 answer을 증가 => O(N^3) => 시간 초과 발생(효율성에서 엄청 늦게 돌아감..) 구글링.. 누진법? skill의 영향을 누진법용 배열에 담은 후 마지막에 board에 적용 1. 누적합 .. [프로그래머스]Lv2. 조건에 부합하는 중고거래 상태 조회하기(SQL) https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 STATUS를 바꾸는 부분이 테이블의 내용을 바꾸는 부분이기 때문에 UPDATE문의 사용이 필요할 것 같았다. => UPDATE 할 권한이 주어지지 않아서 오류 발생 CASE WHEN 구문 새로운 열 생성 SELECT CASE WHEN 기존 열 = 조건 THEN '값1' WHEN 기존 열 = 조건2 THEN '값2' ELSE '값N' END AS 새로운 열 코드 틀린 코드 -- 코드를.. [프로그래머스]Lv2. 주차 요금 계산(Python) https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 records를 순회하면서 차량번호를 key, 누적된 시간을 value로 넣어 갱신한다. 근데 문제는 같은 차량이 여러번 IN-OUT이 가능하다는 것..!! 코드 import math def dateToMinutes(date): h, m = map(int, date.split(':')) time = (h*60) + m return time def solution(fees, records.. [프로그래머스]Lv2. k진수에서 소수 개수 구하기(Python) https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 1. 0P0처럼 소수 양쪽에 0이 있는 경우 2. P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 3. 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 4. P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수 101은 P가 될 수 없음 사고 흐름.. 1. 해당 숫자를 k진법으로 변환 => 좀 익히자.. 2. 0을 기준으.. [프로그래머스]Lv1. 둘만의 암호(Python) https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 알파벳을 담아놓을 리스트(alpabets_list)를 만든다. skip의 길이만큼 반복문을 돌면서 해당 알파벳을 제거한다. 만약 해당 알파벳을 index만큼 건너 뛴 값이 마지막 알파벳을 넘으면 다시 첫 알파벳으로 복귀 => 런타임 에러로 78.9 .. 리스트 범위에서 넘어갈 경우 빼기 연산이 아니라 나머지 연산으로 jump를 수정해야 한다. => 통과!! 코드 def solution.. [프로그래머스]Lv2. 자동차 평균 대여 기간 구하기(SQL) https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 DATEDIFF(종료일, 시작일) => (종료일-시작일) TIMEDIFF(종료시간, 시작시간) => (종료시간-시작시간) TIMESTAMPDIFF(시간 표현단위, 시작 시간, 종료 시간) 1. 평균 대여기간 >= 7 : AVG 2. 소수점 둘째자리에서 반올림: ROUND 3. 평균 대여 기간, 자동차 ID 기준으로 내림차순 정렬: DESC 코드 -- 코드를 입력하세요 SELECT CA.. [프로그래머스]Lv3. 다단계 칫솔 판매(Python) https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 1. 수익이 발생하면 상위 요소(추천인)에게 10%를 나눠줌 => 반복 2. 10원 미만이라면 본인이 남은 금액을 모두 가지고 반복 완료 코드 import math def solution(enroll, referral, seller, amount): # 판매원과 그에 따른 레퍼럴(상위 판매원) 관계를 저장하는 딕셔너리 생성 parentTree = dict(zip(enroll, refer.. [프로그래머스]Lv2. 양궁대회(Python) https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 회고 중복 조합 라이브러리를 사용해서 n개의 화살을 쏴서 얻을 수 있는 라이언의 모든 점수의 조합을 생성한다. 조건에 의해 라이언은 어피치보다 더 많은 화살(초과)을 해당 점수에 맞혀야 점수를 얻는다. 라이언의 점수가 어피치의 점수보다 낮거나 같으면 [-1]을 반환 중복 조합 생성: n개의 화살을 쏴서 얻을 수 있는 모든 점수의 조합 생성 => 중복 허용 라이언의 점수 계산: 라이언은 어피치.. 이전 1 2 3 4 5 6 다음