본문 바로가기

분류 전체보기188

[Swift 알고리즘] 백준_1991(트리 순회) https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 문제 이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오. 예를 들어 위와 같은 이진 트리가 입력되면, 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식.. 2023. 5. 24.
[Swift 알고리즘] 백준_11279 (최대 힙) https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 널리 잘 알려진 자료구조 중 최대 힙이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 .. 2023. 5. 23.
[Swfit 알고리즘]LCS에 대해서 정확한 설명 https://velog.io/@emplam27/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-LCS-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Longest-Common-Substring%EC%99%80-Longest-Common-Subsequence [알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(Longest Comm.. 2023. 5. 19.
[Swift 알고리즘] 백준 9935 (문자열 폭발) https://www.acmicpc.net/problem/9935 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지 구해보려고 한다. 남아있는 문자가 없는 경우가 있다. 이때는 "FRULA"를 출력한다. 폭발 문자열은 같은 문자를 두 개 이상 포함하지 않는다. 입력 첫째 줄에 문자.. 2023. 5. 18.
[Swift 알고리즘] 프로그래머스 다리를 지나는 트럭 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 방법: 자동차 길이를 1로 생각해보자. 자동차가 3의 길을 지난다고 상상해보자 그러면 시간대 대로 그리게 된다면 이렇게 된다 0초 : ⬜️ | ⬜️ ⬜️ ⬜️ | ⬛️ 1초 : ⬜️ | ⬜️ ⬜️ ⬛️ | ⬜️ 2초 : ⬜️ | ⬜️ ⬛️ ⬜️| ⬜️ 3초 : ⬜️ | ⬛️ ⬜️ ⬜️| ⬜️ 4초 : ⬛️ | ⬜️ ⬜️ ⬜️| ⬜️ 이 그림을 보면 알 수 있듯이 자동차가 시작지점에서는 0초에.. 2023. 5. 16.
[Swift 알고리즘] 디스크 컨트롤러 https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이방법 : 0. 제일 중요 인풋갑인 Jobs는 정렬된 값이 아니다. 무슨 말 이냐면 jobs = [[0, 10] , [1, 20] ,[3, 40]] 이렇게 정렬 될 수도 있지만, jobs = [[4,10], [1, 2], [0, 20]] 일 수도 있다. 1. 이것은 readyQueue를 구현하여 계산한다. - readyQeuue는 실행 순서대로 정렬한다. - 만약 실행순서가 같을 경우, 먼저 들.. 2023. 5. 15.