Swift 프로그래머스 입문(5)
41. 세균 증식
import Foundation
func solution(_ n:Int, _ t:Int) -> Int {
var total = n
for _ in 1...t{
total *= 2
}
return total
}
42. 대문자와 소문자
import Foundation
func solution(_ my_string:String) -> String {
var result = ""
for i in my_string{
var check = String(i)
result += (check == check.lowercased()) ? check.uppercased() : check.lowercased()
}
return result
}
43. n의 배수 고르기
import Foundation
func solution(_ n:Int, _ numlist:[Int]) -> [Int] {
var number = [Int]()
for i in numlist {
if i % n == 0{
number.append(i)
}
}
return number
}
44. 암호 해독
import Foundation
func solution(_ cipher:String, _ code:Int) -> String {
var checkNumber = cipher.count / code
let cip = [Character](cipher)
var new = ""
for i in 1...checkNumber{
var point = i * code
new += String(cip[point-1])
}
return new
}
45. 가위 바위 보
import Foundation
func solution(_ rsp:String) -> String {
var base = [Character](rsp)
var str = ""
for i in base {
switch i {
case "0":
str.insert("5", at: str.endIndex)
case "2":
str.insert("0", at: str.endIndex)
case "5":
str.insert("2", at: str.endIndex)
default:
continue
}
}
return str
}
46. 직각삼각형 출력하기
import Foundation
let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! }
var number = [String]()
var star = ""
for i in 1...n[0] {
star += "*"
number.append(star)
print(number[i-1])
}
47. 문자열 정렬하기 (1)
import Foundation
func solution(_ my_string:String) -> [Int] {
let numbers = my_string.filter{$0.isNumber}.sorted()
let str = numbers.map{ String($0) }
let num = str.map{ Int($0)! }
return num
}
48. 주사위의 개수
import Foundation
func solution(_ box:[Int], _ n:Int) -> Int {
var new = [Int]()
for i in box {
new.append(i/n)
}
var result = new[0] * new[1] * new[2]
return result
}
49. 가장 큰 수 찾기
import Foundation
func solution(_ array:[Int]) -> [Int] {
var sort = array.sorted()
var result = 0
for i in 0..<array.count {
if array[i] == sort[sort.endIndex-1]{
result = i
}
}
return [sort[sort.endIndex-1], result]
}
50. 배열 회전시키기
import Foundation
func solution(_ numbers:[Int], _ direction:String) -> [Int] {
var checker = direction == "right" ? true : false
var number = [Int](repeating: 0, count: numbers.count)
if checker {
for i in 0..<numbers.count{
if i + 1 == numbers.count {
number[0] = numbers[number.count - 1]
}
else{
number[i+1] = numbers[i]
}
}
}
else {
for j in 0..<numbers.count {
if j == 0 {
number[number.count - 1 ] = numbers[0]
}
else {
number[j - 1] = numbers[j]
}
}
}
return number
}