Algorithm/프로그래머스 41

세무민의 코딩일기 : 프로그래머스 다리를 지나는 트럭 문제 풀기

이번 문제는 다리를 지나는 트럭 문제! 이 문제는 기존에 Stack이나 Queue를 이용해서 문제를 푸는 걸 추천하지만 나는 list로 구현했당.... 사실 deque으로 구현했던 건 있으나 코드 실행은 문제 없지만 채점에서 실패한 것들이 존재해서..ㅎ 그냥 무난한 리스트로 ㅎ 문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7..

세무민의 코딩일기 : 프로그래머스 2016년 문제 풀기

이번 문제는 dateTime만 알고 있다면 10분도 안걸리는 문제 중 하나를 가져왔습니다. 바로 2016년 문제! 이 글을 포스팅 하는 이유는 나중에 DateTime을 또 사용할 수 있을꺼 같아서... 문제 설명 및 입출력 예시 풀이 2016년도에서 월과 일이 주어진다면 해당 요일을 출력하면 됩니다. 그렇다면 하나씩 년별로 계산해도 되지만... 이 방법은 정말 미친짓이기 때문에 사실상 제일 간편한 방법은 dataTime을 이용하는 것! 코드 def solution(a, b): import datetime dayList = ['MON','TUE','WED','THU','FRI','SAT','SUN'] answer = dayList[datetime.date(2016, a, b).weekday()] retur..

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

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

세무민의 코딩일기 : 프로그래머스 신규 아이디 추천 문제 풀기

이 문제를 포스팅 하는 이유는....... 진짜 간단한 문제를 1시간 30분동안 풀었다는 점에서... 사실 풀고 난 후 테스트 케이스에 통과 못한 것들이 존재해서....하 ㅠㅠ 이번에 풀 문제는 신규 아이디 추천! 20201년 카카오 신규 블라인드 모집 문제 중 하나입니다. 문제 설명 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다...

세무민의 코딩일기 : 프로그래머스 스킬트리 문제 풀기

확실한 건 그리디랑 동적 다이나믹 프로그래밍 공부를 안하다보니 멘탈은 괜찮아지구 쉬운 문제들만 풀어서 그런가... 오늘 4문제나 풀었다 ㅋㅋㅋㅋㅋㅋㅋㅋ 그 중 한문제를 소개해보면! 바로 스킬트리 문제! 이 문제는 Summer/Winter Coding에 속한 문제이다. 문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 ..