👨🏻‍💻iOS 공부/Swift_알고리즘 풀이

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

    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..

    [프로그래머스] 체육복

    https://programmers.co.kr/learn/courses/30/lessons/42862?language=swift 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 체육복을 잃어버린 학생들에게 인접한 학생들이 체육복 여벌을 나누어 줄 수 있을 때 몇 명의 학생들이 체육 수업을 들을 수 있는지 파악하는 문제이다. 눈여겨 봐야 할 부분은 "내가 여벌을 가져왔더라도 나 또한 체육복을 잃어버릴 수 있다는 것"이다. 실제로 보면 뭔가 웃긴 상황... 이 경우에는 남에게 빌려주지 못하고 본인이 입어야 한다. ..

    [프로그래머스] 여행 경로

    https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 주어진 (출발지,도착지) 쌍으로 이루어진 배열들을 모두 순회하였을 때 방문 순서를 반환하는 그런 문제이다. A에서 B,C로 갈 수 있는 상황이라면 우선 B로 이동하고, 그 다음 B에서 갈 수 있는 곳으로 가고.... 그 다음 갈 길이 없으면 C에서 갈 수 있는 곳으로 가고... 느낌이 오는가? DFS(깊이 우선 탐색)을 활용해아..