프로그래머스
-
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // 1. 다음과제.시작시간 - 현재과제.시작시간 = 과제실행가능시간 // 2. 현재과제.실행시간 - 과제실행가능시간 = 남은실행시간 // 2-1 남은실행시간 == 1 // 1. 로 돌아가 반복 // 2-2 남은실행시간 > 0 // pasueTask.append(현재과제) 현재과제.실행시간 = 남은실행시간 // 2-3 남은실행시간 < 0 // 멈춘과제 = pasueTask.removeLast()..
[Swift] 과제 진행하기https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // 1. 다음과제.시작시간 - 현재과제.시작시간 = 과제실행가능시간 // 2. 현재과제.실행시간 - 과제실행가능시간 = 남은실행시간 // 2-1 남은실행시간 == 1 // 1. 로 돌아가 반복 // 2-2 남은실행시간 > 0 // pasueTask.append(현재과제) 현재과제.실행시간 = 남은실행시간 // 2-3 남은실행시간 < 0 // 멈춘과제 = pasueTask.removeLast()..
2024.01.07 -
import Foundation func solution(_ cards:[Int]) -> Int { var index: Int = 0 var tmp: [Int] = [index] var result: [Int] = [] var visited: [Bool] = Array(repeating: false, count: cards.count) visited[index] = true while visited.contains(false) { index = cards[index] - 1 if visited[index] { index = visited.firstIndex(of: false)! result.append(tmp.count) tmp = [index] visited[index] = true } else { v..
[Swift] 혼자 놀기의 달인import Foundation func solution(_ cards:[Int]) -> Int { var index: Int = 0 var tmp: [Int] = [index] var result: [Int] = [] var visited: [Bool] = Array(repeating: false, count: cards.count) visited[index] = true while visited.contains(false) { index = cards[index] - 1 if visited[index] { index = visited.firstIndex(of: false)! result.append(tmp.count) tmp = [index] visited[index] = true } else { v..
2023.06.24 -
import Foundation func solution(_ data:[[Int]], _ col:Int, _ row_begin:Int, _ row_end:Int) -> Int { var result = 0 var data = data .sorted { $0[0] > $1[0] } .sorted { $0[col-1] < $1[col-1] } for i in row_begin...row_end { result ^= data[i-1].reduce(0, { $0 + ($1 % i) }) } return result }
[Swift] 테이블 해시 함수import Foundation func solution(_ data:[[Int]], _ col:Int, _ row_begin:Int, _ row_end:Int) -> Int { var result = 0 var data = data .sorted { $0[0] > $1[0] } .sorted { $0[col-1] < $1[col-1] } for i in row_begin...row_end { result ^= data[i-1].reduce(0, { $0 + ($1 % i) }) } return result }
2023.06.24 -
import Foundation typealias Point = (i: Int, j: Int) enum Map: String { case start = "S" case exit = "E" case lever = "L" case way = "O" case wall = "X" } var row: Int = 0 var col: Int = 0 var newMaps: [[Map]] = [] func moveMap(_ startPoint: Point, _ targetPoint: Point, _ visited: [[Bool]], _ movedValue: [[Int]]) -> Int { var visited = visited var movedValue = movedValue var queue: [(point: Poin..
[Swift] 미로 탈출import Foundation typealias Point = (i: Int, j: Int) enum Map: String { case start = "S" case exit = "E" case lever = "L" case way = "O" case wall = "X" } var row: Int = 0 var col: Int = 0 var newMaps: [[Map]] = [] func moveMap(_ startPoint: Point, _ targetPoint: Point, _ visited: [[Bool]], _ movedValue: [[Int]]) -> Int { var visited = visited var movedValue = movedValue var queue: [(point: Poin..
2023.06.24 -
import Foundation func sliceString(_ n: Int, _ str: String) -> [String] { var result: [String] = [] var tmp = "" for char in str { tmp += String(char) if n String { var result: String = "" var tmp = "" var count = 1 for str in array { if tmp == str { count += 1 } else { if tmp != "" { result += (count > 1) ? "\(count)\(tmp)" : "\(tmp)" } tmp = str count = 1 } } if tmp != "" { result += (count > ..
[Swift] 문자열 압축import Foundation func sliceString(_ n: Int, _ str: String) -> [String] { var result: [String] = [] var tmp = "" for char in str { tmp += String(char) if n String { var result: String = "" var tmp = "" var count = 1 for str in array { if tmp == str { count += 1 } else { if tmp != "" { result += (count > 1) ? "\(count)\(tmp)" : "\(tmp)" } tmp = str count = 1 } } if tmp != "" { result += (count > ..
2023.06.23 -
import Foundation func solution(_ weights:[Int]) -> Int64 { var result: Int64 = 0 var weightsReal: [Int64] = Array(repeating: 0, count: 1001) var weightsDistance: [Int64] = Array(repeating: 0, count: 4001) for weight in weights { let distance2 = weight * 2 let distance3 = weight * 3 let distance4 = weight * 4 result += weightsDistance[distance2] result += weightsDistance[distance3] result += wei..
[Swift] 시소 짝궁import Foundation func solution(_ weights:[Int]) -> Int64 { var result: Int64 = 0 var weightsReal: [Int64] = Array(repeating: 0, count: 1001) var weightsDistance: [Int64] = Array(repeating: 0, count: 4001) for weight in weights { let distance2 = weight * 2 let distance3 = weight * 3 let distance4 = weight * 4 result += weightsDistance[distance2] result += weightsDistance[distance3] result += wei..
2023.06.23 -
import Foundation func solution(_ n:Int) -> [[Int]] { var result: [[Int]] = [] func hanoi(_ n:Int, _ from: Int, _ by: Int, _ to: Int) { if n == 1 { result.append([from, to]) return } hanoi(n-1, from, to, by) hanoi(1, from, by, to) hanoi(n-1, by, from, to) } hanoi(n, 1, 2, 3) return result }
[Swift] 하노이의 탑import Foundation func solution(_ n:Int) -> [[Int]] { var result: [[Int]] = [] func hanoi(_ n:Int, _ from: Int, _ by: Int, _ to: Int) { if n == 1 { result.append([from, to]) return } hanoi(n-1, from, to, by) hanoi(1, from, by, to) hanoi(n-1, by, from, to) } hanoi(n, 1, 2, 3) return result }
2023.06.20 -
import Foundation func solution(_ userIds:[String], _ bannedIds:[String]) -> Int { var bannedIds = bannedIds var dict: [String: [String]] = [:] var regularExps = bannedIds.map { "^\($0.replacingOccurrences(of: "*", with: "[\\w]"))$" } var visited: [Bool] = Array(repeating: false, count: userIds.count) var userIdsDict: [String: Int] = [:] var result: Set = [] for (index, value) in userIds.enumera..
[Swift] 불량 사용자import Foundation func solution(_ userIds:[String], _ bannedIds:[String]) -> Int { var bannedIds = bannedIds var dict: [String: [String]] = [:] var regularExps = bannedIds.map { "^\($0.replacingOccurrences(of: "*", with: "[\\w]"))$" } var visited: [Bool] = Array(repeating: false, count: userIds.count) var userIdsDict: [String: Int] = [:] var result: Set = [] for (index, value) in userIds.enumera..
2023.06.19