[코딜리티] Stone Wall - Stack과 Queue
Algorithm 2021. 7. 1. 16:35

▼ 문제 링크 StoneWall coding task - Learn to Code - Codility Cover "Manhattan skyline" using the minimum number of rectangles. app.codility.com 영어로 된 문제가 너무 난해해서 이해하기 너무 어려웠던 문제.(사실 아직도 문제는 무슨 소린지 모르겠음;;) 벽돌을 쌓네 마네 하는 것들은 일단 뒤로 재쳐두고, 주어진 배열만 보고 유추해서 풀었다. # 풀이 1 FIFO Queue를 이용한 풀이 import Foundation import Glibc public func solution(_ H : inout [Int]) -> Int { var count = 0 // use queue while !H.isEmp..

[프로그래머스] 짝지어 제거하기 - 효율성 통과하기
Algorithm 2021. 6. 29. 23:20

▼ 문제 링크 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr # 풀이 1 가장 첫 중복 요소를 확인하고 제거하는 함수 사용 import Foundation func solution(_ s: String) -> Int{ var chars = [Character]() var overlap = true s.forEach { // String을 [Character]로 변환 chars.append($0) } repeat { overlap = checkOverlap(chars).0 chars = check..

[코딜리티] Tape Equilibrium - 시간 복잡도 줄이기
Algorithm 2021. 6. 13. 15:52

▼ 문제 링크 Codility Your browser is not supported You should use a supported browser. Read more app.codility.com # 풀이 1 내가 처음 푼 문제 풀이 func solution(_ A : inout [Int]) -> Int { var left = 0 var right = 0 var index = 0 var result = 0 for i in 1.. 0 index = i repeat { right += A[index] index += 1 } while index abs(left-right) ?..

[Swift] 옵셔널 바인딩(Optional Binding)과 암시적 추출 옵셔널(Implicitly Unwrapped Optionals)
Swift 2021. 6. 9. 20:13

옵셔널(Optional) 1. 값이 존재할 수도 있고 아예 존재하지 않을 수도 있다. 2. 값이 존재한다면 옵셔널을 언래핑(unwrap)하여 그 값에 접근할 수 있다. Int의 0이나 String의 ""는 값이 존재하지 않음을 나타내는 것이 아니라 각각 0과 ""이라는 값을 가지고 있음을 의미한다. 값이 아예 존재하지 않을 때는 'nil'을 사용해 표현할 수 있다. 옵셔널은 타입 뒤에 물음표(?)를 붙여줌으로써 해당 객체가 옵셔널 객체임을 선언해줄 수 있다. var optionalVal: String? // optionalVal의 타입: Optional optionalVal = "hello, world!" // Optional("hello, world!") optionalVal = nil // nil 옵..

[Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 2
etc 2021. 6. 3. 21:25

▼ 이전 글 [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1 [다음 글👇] [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 2 2021.06.03 - [etc] - [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1 지난 번 글에서는 여러 개의 타겟을 생성 gets-better.tistory.com 지난 번 글에서는 여러 개의 타겟을 생성하여 각각의 main파일을 빌드하는 방법을 설명했다. 이번에는 하나의 타겟으로 할 수 있는 방법을 알아보자. - 새 Command Line Tool 프로젝트를 생성한다. - Command + R 을 눌러 빌드해보면 자동으로 생성된 main.swift 파일이 정상으로 빌드된 것을 확인할 수 있다..

[Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1
etc 2021. 6. 3. 21:00

▼ 다음 글 [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 2 2021.06.03 - [etc] - [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1 지난 번 글에서는 여러 개의 타겟을 생성하여 각각의 main파일을 빌드하는 방법을 설명했다. 이번에는 하나의 타겟으 gets-better.tistory.com Xcode를 사용해 스위프트를 연습할 때 처음에는 playground로 연습했다. playground는 굉장히 유용하고 편리한 기능이지만 치명적인 단점이 있었다. 그건 바로 playgound는 sandbox이기 때문에 commandline input에 접근할 수 없다는 것. 알고리즘 공부를 하다 보면 필연적으로 특정 값을 입력받아야 하는데 play..