LV2 스킬트리
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49993?language=python3# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 tech라는 딕셔너리를 선언했고, 키는 스킬이고 밸류는 그 스킬을 배우기 위한 직전 스킬을 넣어주었다. 따라서 만약 A스킬이 skill에 있고, 그 스킬을 배우기 위해서 무엇을 배워야하는지 tech를 통해 알 수 있다. (1부터 넣은 이유는 첫 스킬은 선행스킬이 없기 때문에) 이후 skill_trees 를 순회한다. 한 스킬셋마다 가능한지 여부를 따져주기..
14501 - 퇴사
·
백준
문제 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이 해당 문제는 뒤에서부터 접근하여 최댓값을 갱신하는 방식으로 풀 수 있다. D[i] = i번째 날부터 마지막 날까지 낼 수 있는 최대 이익이라고 정한다. 이후 뒤에서부터 (지금 날짜 + 오늘 일하면 걸리는 날짜)
LV2 [KAKAO] 순위 검색
·
프로그래머스
문제 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 보고서 Dictionary를 사용해야할 거 같았다. 1. 우선 주어진 프로그래밍 언어, 직군 등을 조합하고 모든 부분집합을 Key로 만들어주고 초기화해준다. 2. 이후에 info 리스트를 순회하면서 모든 부분집합을 만들고, 해당하는 Key에 점수를 넣어준다. 3. 마지막에는 query 리스트를 순회하면서 해당 조건에 맞는 Key를 찾고, value (점수들이 들어가있는 list)..
1463 - 1로 만들기
·
백준
문제 (S3) https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 D[n]은 n을 1로 만드는 최소한의 연산 개수가 들어가있다. 가능한 연산은 3개로, 1을 빼거나 2로 나누거나 3으로 나누거나이다. 최소한의 연산을 수행하기 위해서 우리가 우선순위로 두어야할 연산은 1. 3으로 나누기 2. 2로 나누기 3. 1로 빼기 일 것이다. 왜냐면 큰 숫자로 나누어야 연산이 최소화가 될테니까 말이다. 그래서 문제를 풀 때 모든 숫자에 적용 가능한 1로 빼기를 먼저 수행해보고, 이후에 2로 나뉘어지는지 체크해보고, 3으로 나뉘어지는지 체크하는 순으로 검사 및 갱신하면 ..
2839 - 설탕배달
·
백준
문제 (S4) https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 DP 연습이 필요할 거 같아서, 실버문제들을 쭈욱 풀면서 감을 잡으려 한다. 설탕배달은 단순하다. D[n]은 n Kg 을 배달하는 최소 설탕봉지의 개수가 저장되어 있다. 초기값으로 D[3] = 1 , D[5] = 1 로 설정해준다. 그리고 6부터 loop를 돌려준다. 이 때 n kg 일때, d[n-3] 또는 d[n-5] 값이 있다면 해당값으로 갱신해준다. 만약 d[n-3], d[n-5] ..