2021/06

    [프로그래머스] 파일명 정렬

    https://programmers.co.kr/learn/courses/30/lessons/17686?language=swift# 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 파일명을 head, number, index 우선순위로 정렬해야하는 문제. 핵심 규칙은 다음과 같다. 파일명은 우선 HEAD 부분을 기준으로 사전 순으로 정렬한다. 이때, 문자열 비교 시 대소문자 구분을 하지 않는다. MUZI와 muzi, MuZi는 정렬 시에 같은 순서로 취급된다. 파일명의 HEAD 부분이 대소문자 차이 ..

    [프로그래머스] 메뉴 리뉴얼

    https://programmers.co.kr/learn/courses/30/lessons/72411?language=swift# 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 2021 KAKAO BLIND RECRUITMENT의 문제로 25.40%의 정답률을 기록한 문제이다. 첫 아이디어만 잘 생각하면 코드로 옮기는 것은 크게 문제가 없어보이는 문제. 요구되는 조건 및 제한사항들을 잘 살펴보는게 중요하다. 우선 생각한 방법을 봐보자. 1. orders의 원소 중 가장 긴 원소의 길이보다 큰 course에 대..

    [프로그래머스] 짝지어 제거하기

    https://programmers.co.kr/learn/courses/30/lessons/12973?language=swift 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문자열 2개가 연속으로 같을 경우 제거해주며, 문자열을 모두 제거할 수 있는지 없는지 판단하는 문제. 문자를 앞에서 부터 하나하나 이전 요소와 비교해줄 필요가 있기에 Stack의 개념을 활용하면 쉽게 풀이할 수 있다. 문제의 예시처럼 문자열이 "baabaa" 일 경우, stack에는 아래와 같이 쌓이고 제거된다. b > b..

    [프로그래머스] 소수 만들기

    https://programmers.co.kr/learn/courses/30/lessons/12977?language=swift 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr https://leechamin.tistory.com/453?category=941567 [프로그래머스] 소수 찾기 https://programmers.co.kr/learn/courses/30/lessons/42839?language=swift 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습..

    [프로그래머스] 단어 변환

    https://programmers.co.kr/learn/courses/30/lessons/43163?language=swift# 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 딱 하나만 문자가 다를 경우 변경해줄 수 있으며, 이를 이용해서 원하는 값으로 최소한으로 이동하려는 문제. 이동한 다음 원소의 이동 가능한 선택지를 봐야하는 것이기에 DFS로 풀어줘야 한다. 여기까지는 괜찮았는데.... 결론적으로 1문제만 풀리지 않더라. 기존 풀이는 다음과 같다. 1. 특정..

    [프로그래머스] 큰 수 만들기

    https://programmers.co.kr/learn/courses/30/lessons/42883?language=swift# 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문자열로 주어진 수에서 순서를 유지한 상태로 k개 만큼 제거하여 얻을 수 있는 수 중 가장 큰 수를 만들고자 하는 문제. 즉 1324에서 2개를 제외해서 가장 큰 수를 만든다면 34가 된다. 왜냐? 만들 수 있는 수가 13, 12, 14, 32, 34, 24뿐이기에 이 중에 최대는 34가 된다. 자 여기까지 보면 brute-force인 것 같고, 조합을 구해서 최댓값을 구하면 문제가 풀릴 것 만 같다. 하지만 문제의 제한 조건을 보면 주어지는 숫자는 1이상 1,000,000미만의 수이다. 즉 brute-forc..