코딩테스트

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

    문제 설명 변수 설명 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 저..

    [문제 풀이] BOJ - 1270 전쟁 - 땅따먹기

    문제 설명 현재 여러 지역은 한창 전쟁이 벌어지고 있는 상황인데, 어느 지역은 거의 전쟁이 마무리 단계로 가고 있다. 하지만 당신은 군대를 보낼 때 적군을 혼란시키기 위해서 우리 나라의 군대라는걸 표시하지 않고, 군대의 번호로 표시했다. 어느 땅에서 한 번호의 군대의 병사가 절반을 초과한다면 그 땅은 그 번호의 군대의 지배하에 놓이게 된다. 이때, 각 땅들을 지배한 군대의 번호를 출력하여라. 만약, 아직 전쟁이 한창중인 땅이라면 “SYJKGW”을 쌍 따옴표 없이 출력한다. 변수 설명 n 타입 : int 저장 데이터 : 땅의 개수 입력 후 저장 t 타입 : list 저장 데이터 : 최대 병사 수, 병사들을 한줄에 입력 후 저장 land_t 타입 : int 저장 데이터 : 땅의 군사 수의 절반을 저장 lan..