목록Swift (6)
cchanmi
https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 www.acmicpc.net 골드 3 문제입니다. 나의 바둑돌을 2개씩 두는 모든 경우의 수를 다 검증해 보고(브루트 포스), 나의 바둑돌이 2개일 때, bfs 함수를 실행시켜서 나온 값들을 더한 뒤 최대값을 찾는 방법으로 접근했습니다. 스위프트로 푸시는 분들에게 도움이 되기를 바라며! let input = readLine()!.split(separator: " ").map{Int(..
일주일 동안 못 풀었던 문제를 일주일 만에 드디어!!! 풀었기 때문에 기록해 보려고 합니다! 🧡 문제는 https://www.acmicpc.net/problem/5427 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net 백준 5427번의 불 문제이며, 티어는 골드 4입니다. 저는 일단 testCase를 입력 받고, testCase만큼 for문을 돌려 주는 코드로 시작하였습니다. 여러 testCase가 반복되기 때문에 그래프의 초기화를 잘해 주어야 하는데요. 저는 매번 초기화해 주는 작업에서 실수를 할까 봐, testCase..
2019 KAKAO BLIND RECUITMENT 문제이며, 난이도는 레벨 1입니다. 풀다가 시간 초과가 발생하게 되어서, 이중 for문 코드와, for문 안에 고차함수, 단일 for문 코드들을 모두 작성해 보았으며, 각각의 코드들의 시간을 측정해 보았습니다. https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이중 for문 코드 import Foundation func solution(_ N:Int, _ stages:[Int]) -> [Int] ..
최근에 알고리즘 문제를 풀다가 백트래킹이라는 개념을 사용해야 하는 문제를 접하게 되었는데, 어떤 개념인지 잘 짚고 넘어가면 좋을 것 같아서 정리해 보려고 합니다! 백트래킹이란? 제약 조건 만족 문제에서 해를 찾기 위한 전략입니다. 보통 DFS랑 같이 사용되곤 하는데요. 문제에서 요구하는 해를 찾기 위해 제약 조건에 따라 점진적으로 방문하다가, 해당 노드가 제약 조건에 만족할 수 없다고 판단하였을 때, 즉시 이 노드는 더이상 방문할 필요가 없음을 판단하고, 뒤로 돌아가 다른 노드를 탐색하며, 최적의 해를 찾는 방법이라고 설명할 수 있습니다. 조건에 맞지 않을 경우 더이상의 탐색을 포기하는 것을 가지치기라고 얘기하며, 주어진 해를 찾는 탐색의 시간을 절약하는 기법입니다. 결론적으로 백트래킹은 DFS로 트리 ..
swift로 알고리즘 문제를 풀다 보면 string의 index에 접근해야 할 상황이 종종 있습니다. swift는 다른 언어들처럼 index를 정수로 받지 않아서 조금 까다롭더라구요. let hello = "hello" let first = hello[0] // error 그래서 우리는 swift에서는 string의 index를 가리키기 위해서는 String.index라는 타입을 이용해야 합니다. String.index란? 공식 문서에 따르면 문자열에서 문자 또는 코드 단위의 위치라고 정의되어 있습니다. Apple Developer Documentation 첫번째 index를 가리키는 법 그럼 String.index를 사용하여서 0번째 인덱스를 가리키려면 어떻게 해야 할까요? let first = str..
안녕하세요. :) 알고리즘 문제를 풀다 보면 reversed, sort, sorted와 같은 문자열 재정렬 함수를 사용하게 되는 경우가 종종 있는데요. 좀 더 정확하게 알기 위해 블로그에 정리해 보겠습니다. reversed 먼저 공식 문서를 살펴보았습니다... https://developer.apple.com/documentation/swift/string/reversed() Apple Developer Documentation developer.apple.com reversed 함수는 컬렉션 요소를 역순으로 표시해 준다고 적혀 있네요. 또, reserved 함수를 호출하여 사용했을 때, 새로운 배열을 반환하는 것이 아니라, 기존의 컬렉션을 래핑하여 요소를 역순으로 정렬해 준다고 적혀 있습니다! 예를 들..