파이썬 23

프로그래머스 실패율(2019 KAKAO BLIND RECRUITMENT) 문제 풀이

이번에 풀어볼 알고리즘 문제는 실패율 문제 풀이입니다. 1. 문제 설명 2. 제한 사항 및 입출력 3. 문제 풀이 이번 문제는 스테이지 별로 구분할 필요가 있다. 예를 들어서 N은 5, Stage는 [2, 1, 2, 6, 2, 4, 3, 3]을 그대로 풀이해보자. 스테이지의 개수는 5, 즉 Stage가 가질 수 있는 값은 최대 5이며 그 이상은 제외하면 된다. Stage를 나눠보면 2는 3명, 1은 1명, 3은 2명, 4는 1명 그리고 6은 스테이지 개수에 없기 때문에 제외한다. 1스테이지부터 N스테이지까지 수를 아래의 표로 볼 수 있다. N : 1 1 / 8 N : 2 3 / 7 N : 3 2 / 4 N : 4 1 / 2 N : 5 0 / 1 stage1의 경우 1개가 존재하기 때문에 전체 stage(..

[세무민의 코딩일기] 위클리 챌린지 8주차 최소직사각형 문제 풀이

이번에 풀어본 문제는 위클리 챌린지 8주차 최소직사각형 문제입니다. 사실 이 문제는 어렵지 않고 쉬운데 커피숍에서 친구 기달리는 시간에 풀어봤습니다. 1. 문제 설명 2. 제한 사항 및 입출력 3. 문제풀이 이번 문제는 카드의 가로와 세로중 가장 큰 값을 구해주면 됩니다. 가로와 세로중 가장 큰 값이라고 하면 해당 값을 정렬해서 가장 큰 값 2개를 곱해주면 끝입니다. 그렇지만 가장 중요하게 봐야 하는 포인트는 카드를 눕힐 때 세로와 가로를 바꿔서 눕힐 수 있다는 점 그 말은 즉 가로에는 가장 큰값들 세로에는 가장 작은값들을 넣은 뒤 정렬해서 그 중에 큰 값을 가져오면 됩니다. 예시 1번을 보면 원래는 80과 70으로 5600이 가장 크지만 (30, 70)을 세로로 눕혀서 80과 다음으로 큰 50으로 40..

세무민의 코딩일기 : 화재와 소방공무원 및 장비의 관계 분석(오랜만에 데이터 분석하기)

최근 직장인으로 살아가다보니 예전에 내가 뭘 했는지 git에 올려져 있는 파일들을 보면서 추억에 빠졌습니다. 이에 따라서 한번 예전에 만들었던 데이터 분석에 대해서 포스팅을 해보는 것도 괜찮겠다고 생각이 되어서 포스팅을 진행하게 되었습니다. 이론과 실습을 구분지어 진행하고 싶지만 바로 확인해볼 수 있도록 진행해보겠습니다. 예전에 진행했던 프로젝트 중 하나는 소방공무원과 관련된 장비들 등 화재와 연관되어있는지를 분석하는 프로젝트를 했었습니다. 당시에 말도 안되는 프로젝트라고 생각했지만 그 당시 의견을 제시했던 팀원과 함께 진행했는데 생각보다 재미있는 좌표는 아니였지만 데이터 분석하는 과정을 알 수 있었습니다. 오늘 포스팅에서 다룰 부분은 일부였던 소방대상물에 대해 다뤄볼 것입니다. 소방대상물은 말 그대로 ..

Programing/Python 2021.07.17

세무민의 알고가자 : 프로그래머스 구명보트 문제 풀기

오늘 풀어볼 문제는 구명보트! 문제 설명 제한 사항 및 입출력 풀이 이번 문제는 탐욕법을 이용하는 문제에요 말 그대로 최소보트의 개수를 구해주면 됩니다. 예를 들어서 [70, 80, 50]을 보도록 하죠! limit가 100이라는 건 보트 한개에 최대 용량입니다. 보트에는 최대 2명만 탑승 가능한 경우의 수를 다 만들어보면 70, 80, 90, 70+80, 70+50, 80+50에서 100이하는 70, 80, 90 총 3개입니다. 따라서 최소 보트의 개수는 3개가 필요하게 됩니다. 즉 요약하자면! 1. 보트에는 최대 2명 탑승 가능하다는 조건 2. limit 이하로 탑승 가능하다는 점 3. 정렬을 하면 크기 비교가 더 쉽다. 탐욕법을 이용하게 되면 가장 빠른 접근 방법은 반복문이 되겠죠? 코드 def s..

세무민의 코딩일기 : 프로그래머스 완주하지 못한 선수 문제 풀기

이번에 풀어볼 문제는 완주하지 못한 선수! 이 문제는 생각해보면 쉽지만 효율성에서 통과하기 어려웠던 문제 중 하나 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한 사항 및 입출력 예시 [ 제한사항 ] 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이..