https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net Dictionary, Tuple를 이용하여 구현. 제거할 후보를 구하는 로직은 처음에는 우선순위 큐를 이용할까 싶었지만, 정렬을 이용. 처음 풀었을때는 정렬을 사용하지 않고 각 Case 별로 구현했지만 이런식으로 하는게 좀 더 쉬운듯하다. import Foundation let n = Int(readLine()!)! let recommendNum = Int(readLine()!)! let..
https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 순서와 상관없이 들어가 있는 숫자가 동일하지 않는 수열을 출력하는 문제. N과 M 문제를 풀었다면 쉽게 풀만한 문제 import Foundation while true { var inputArr = readLine()!.split(separator: " ").map{ Int($0)! } if inputArr[0] == 0 { break } var input = inputArr input..
https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 문제 요약: 1~9까지의 서로 다른 숫자로 이루어진 3자리 숫자가 목표 수 입력으로는 3자리 숫자와 스트라이크, 볼의 개수가 주어짐 입력된 값을 토대로 정답이 될 수 있는 숫자의 개수를 묻는 문제 풀이 과정: 서로 다른 숫자로 이루어진 수만이 들어가므로 순열을 이용해서 서로 다른 숫자로 이루어진 3자리 가능한 숫자 배열을 구함. 입력을 받을때마다 가능한 숫자 배열을 반복문으로 돌면서 입력된 수와 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42628?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선순위큐를 구현 할 수 있다면 쉬운 문제. 오름차순과 내림차순 우선순위 큐를 둘 다 구현하고 명령어에 따라 각 큐를 연산 한 뒤, 연산하지 않은 큐를 새로 만들어 할당하는 식으로 문제를 해결했다. import Foundation struct Heap { var elements: [Int] var sortFunction: (Int, Int) -> Bool var isEm..
https://school.programmers.co.kr/learn/courses/30/lessons/86971# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 간단히 요약하면 서로 연결되어 있는 집합끼리의 개수의 차이를 구하는 문제. 보자마나 Union-Find 알고리즘을 이용하면 풀 수 있겠구나 생각이 들었다. 와이어를 하나씩 자른 모든 경우의 수에 각 그룹 송전탑의 수 차이를 완전탐색해서 풀었다. Union-Find 알고리즘을 구현할 수 있다면 막힘없이 풀 수 있는 문제라고 생각 import Foundation func calculateTw..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 경우의 수, DFS, 구현 문제. 가장 고민을 많이 했던 것은 우선순위를 적용한 계산을 어떻게 할 것인지 고민을 많이 했다. 내가 푼 방식은 연산자와 숫자를 각각 나눠서 배열에 담고, 우선순위를 for문으로 돌아서 연산자 우선순위가 높은것을 먼저 계산하고 숫자 배열에 이를 적용하고 계산한 숫자는 제거하는 방식으로 구현했다. import Foundation var solutionAnswer: Int..