Study/코딩테스트

    [ 문제 풀이 ] BOJ-14501 퇴사

    📔 문제 설명 문제 풀러 가기 🧰 변수 설명 N 타입 : 정수 저장 데이터 : 일 수 입력 dp 타입 : 리스트 저장 데이터 : 각 날짜마다의 최대값을 저장 T 타입 : 리스트 저장 데이터 : 상담 소요 시간 저장 P 타입 : 리스트 저장 데이터 : 상담 금액 저장 🖨풀이 과정 1. 일 수를 입력 받는다 [N] 2. 시간과 금액을 저장할 리스트를 초기화 해준다. [T, P] 3. 반복문을 통해 N 만큼 반복하며 각 상담마다의 소요 시간과 금액을 입력받는다. 4. dp를 N+1 크기 만큼 초기화 해준다. (회사를 N+1 일에 나가기 때문에) 5. 시간을 초과하면 회사에 있지 않기 때문에 역순으로 반복문을 돈다. 6. 현재 날짜와 상담 소요시간을 더 한 값이 N보다 작다면 큰 값을 비교하여 큰 값을 dp에 ..

    [문제 풀이 ] 프로그래머스 최소 직사각형

    문제 설명 변수 설명 height 타입 : 정수 저장 데이터 : 명함의 세로 길이 저장 width 타입: 정수 저장 데이터 : 명함의 가로 길이 저장 answer 타입: 정수 저장 데이터 : 가장 작은 지갑의 크기를 저장 풀이과정 명함의 가로와 세로가 있을 때, 결국 가장 작은 지갑을 만들기 위해서는 가로와 세로 중 큰 값을 한쪽에 몰아 넣고 한쪽엔 작은 값만 몰아 넣은 다음 두 값중 가장 큰 값을 곱해주면 된다. 즉 가로와 세로 중 큰 값을 가로에 옮기고, 작은 값을 세로에 둔 후, 가장 큰 가로 와 가장 큰 세로 값을 곱해주면 된다. 코드 def solution(sizes): width = 0 height = 0 def change(temp): temp[0], temp[1] = temp[1], tem..

    [문제 풀이] BOJ-2805 나무 자르기

    📔문제 설명 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 높이를 15로 지정했다면, 나무를 자른 뒤의 높이는 15..

    [ 문제 풀이 ] BOJ-1931 회의실 배정

    📔 문제 설명 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 🧰 변수 설명 N 타입 : int 저장 데이터 : 회의 개수를 입력 받아 저장 result 타입 : deque 저장 데이터 : 회의 사용 시간을 저장 count 타입 : int 저장 데이터 : 회의 수 카운트 end 타입 : int 저..