[프로그래머스] 경주로 건설 - Python
2022. 2. 21. 04:17
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 😀 풀이 본 문제는 DFS와 메모제이션 기법을 사용해서 풀이했습니다. DFS를..
[프로그래머스] [1차] 셔틀버스 - Python
2022. 2. 13. 19:32
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17678 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 😀 풀이 본 문제의 핵심은 콘이 마지막 버스에 가장 늦게 탑승해야 한다는 것입니다. 출근자들을 순서대로 버스에 태워 보낸다고 생각하고 마지막 버스에 자리가 남는다면 마지막 버스 출발시간에 도착하면 되고 마지막 버스가 다 차있다면 마지막 버스에 ..
[프로그래머스] k진수에서 소수 개수 구하기 - Python
2022. 2. 10. 18:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 😀 풀이 본 문제는 문제 조건에 맞는 단순 구현 문제였습니다. 풀이 과정은 아래의 세 단계로 나눌 수 있습니다. 1. 양의 정수 n이 들어왔을 때 이를 소수로 변환하는 과정 2. 문제 조건에 맞게 소수 판단의 대상이 될 숫자들을 확인하는 과정 3. 2번 과정에서 찾은 숫자들이 소수인지 확인하는 과정 위..
[프로그래머스] 주차 요금 계산 - Python
2022. 2. 6. 02:24
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 😀 풀이 주차 요금 계산 문제는 입차하는 차량과 출차하는 차량을 관리하는 dictionary, 각 차량의 주차 시간을 관리하는 dictionary 즉, 두 개의 dictiona..
[프로그래머스] [3차] n진수 게임 - Python
2022. 2. 4. 00:51
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 😀 풀이 본 문제는 10진수로 주어진 숫자를 n진수로 변환하면 쉽게 풀 수 있는 구현 문제입니다. n진수 변환의 경우 풀이 코드에 convert라는 함수로 정의해놓았습니다. 또한 진수 변환의 경우 참고할만한 코드가 많으므로 설명은 생략하겠습니다. 게임에 참여하는 인원(m)과 튜브가 미리 구할 숫자의 개수(t)를 고려해보았을 때 최대 t ..
[프로그래머스] [3차] 파일명 정렬 - Python
2022. 2. 1. 20:50
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 😀 풀이 본 문제는 주어진 파일명 배열을 몇 가지 조건에 따라 정렬하면 되는 문제입니다. 따라서 배열을 정렬하는 기준인 key 값에 적절한 함수를 넣어주면 풀이할 수 있음을 쉽게 떠올릴 수 있습니다. 문제에서 주어진 정렬 조건은 크게 두 가지가 있습니다. 1. HEAD 부분 HEAD 부분의 경우 파일명의 맨 앞부분부터 숫자가 나오기 직전까지입..
[프로그래머스] 보석 쇼핑 - Python
2022. 1. 29. 23:15
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 😀 풀이 이 문제는 투 포인터를 이용하여 풀이하였습니다. 배열의 크기가 100,000으로 상당히 큰 편이고 이를 고려했을 때 시간 복잡도가 작은 자료구조를 써볼까, DP를 써볼까 등등이 머리를 스쳐갔지만 문제 상황 자체가 조건에 맞는 왼쪽 진열대 인덱스와 오른쪽 진열대 인덱스를 찾는 것이므로 투 포인터를 사용하면서 적절한 자료구조를 쓰면 문제 풀이가 가능하겠다고 생각했습니다. 우선 코드를 작성하기 전 ..
[프로그래머스] [3차] 방금그곡 - Python
2022. 1. 28. 21:44
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17683?language=python3 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 😀 풀이 방금그곡 문제는 문제 조건에 따라 충실히 구현하면 되는 문제입니다. 각 음악 정보에 대해서 시간 길이만큼 음을 반복하여 배열에 넣어주고 이 배열이 네오가 들은 음들을 포함하고 있는지 체크하면 되는 문제입니다. 문제 해결을 위해 필요한 과정들을 함수들로 빼서 구현했는데 음을 배열로 교체하고 이 배열이 네..
[프로그래머스] [3차] 압축 - Python
2022. 1. 27. 23:25
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 😀 풀이 위 문제는 아래 사진과 같은 조건을 따라 그대로 구현하면 되는 문제입니다. 1 ~ 5번 과정이 각각 풀이 코드의 라인 한 개씩과 매칭되어 따로 문제 풀이과정을 설명하지 않고 해당 과정을 구현한 부분에 주석을 남겨놨습니다. 추가로 findLongestWord라는 재귀함수를 만들었는데 테스트케이스에서 recursionlimit으로 인한 런타임 에러가 발생하여 1,2번 라..
[프로그래머스] 표 편집 - Python
2022. 1. 21. 23:17
Algorithm/프로그래머스
🤔 문제 https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 😀 풀이 표 편집 문제에서는 특정 자료구조에 삽입, 삭제, 검색과 비슷한 행위들을 반복하여 수행해야 함을 알 수 있습니다. 또한 문제에서 효율성을 체크하게 되는데 이를 통해 적절한 자료구조를 떠올리고 이를 조건에 맞춰 구현해내는 것이 중요한 문제라고 생각했습니다. 가장 먼저 떠오른 자료구조는 기본적인 배..