Algorithm/알고리즘(16)
-
프로그래머스 1단계) 이상한 문자 만들기
문제 10:46 - 11:25(40분 고민하고 답을 봄) 접근 방식 1) components(seperatedBy: " ")를 이용해서 띄어쓰기를 기준으로 String type의 배열을 구하고 //solution이라는 함수는 String타입의 s를 파라미터로 받고 있음 var s = s //"abc bcd cK" var newString = s.components(seperatedBy: " ")//["abc", "bcd", "cK"] 2) 리턴된 배열을 map 고차함수를 이용해서 짝수번째 알파벳은 대문자, 홀수번째 알파벳은 소문자로 리턴하고 //solution이라는 함수는 String타입의 s를 파라미터로 받고 있음 var s = s //"abc bcd cK" var newString = s.compon..
2022.01.24 -
프로그래머스 1단계) 짝수와 홀수
문제 10:30 - 10:32 제출한 답안 func solution(_ num:Int) -> String { var num = num if num % 2 == 0 { return "Even" } else { return "Odd" } } 유의미한 답안 func solution(_ num:Int) -> String { return num % 2 == 0 ? "Even" : "Odd" } 느낀점 정말 상당히 쉬운 문제였다. 이런 문제일수록 얼마나 빠르게, 코드를 간결하게 푸는가가 관건인것 같다. 삼항연산자를 이용하면 코드 한줄로 해결될 수 있었다.
2022.01.24 -
프로그래머스 1단계) 자릿수 더하기
문제 제출한 답안 func solution(_ n:Int) -> Int { var num = String(n) var arr = [Character]() for i in num { arr.append(i) } var arr2 = arr.map {$0.wholeNumberValue!}.reduce(0) {$0 + $1} return arr2 } 유의미한 답안 Q13. 자릿수 더하기 func solution(_ n:Int) -> Int{ return String(n).map {Int(String($0))!}.reduce(0,+) } 테스트케이스2가 런타임 에러가 났었는데 예외가 뭐가 있을까 생각하다가 내 코드가 String(n).map {Int(String($0))!}.reduce(0) {$0+$1} 이었는..
2021.12.05 -
프로그래머스 1단계) 자연수 뒤집어 배열로 만들기
문제 1차 답안 func solution(_ n:Int64) -> [Int] { var str = String(n)//"12345" var arr = str.map { String($0) }.sorted(by: >).map {Int($0)!} print(arr) return arr } 2차 시도(정답) func solution(_ n:Int64) -> [Int] { var str = String(n) var arr1 = str.map { String($0) }//["1", "2", "3", "4", "5"] var arr2 = [String]() var arr3 = [Int]() var newNum = arr1[arr1.count-1] //print(arr2)//"5" for i in 1.. [Int] ..
2021.12.05 -
프로그래머스 1단계) 정수 내림차순으로 배치하기
문제 15:36 - 16:47 1차 시도 import Foundation func solution(_ n:Int) -> Int{ var num = String(n)//"29463" var arr = [String]() var result = "" for i in num { arr.append(String(i)) arr.sort(by: >) result = arr.joined(separator: "") } return Int(result) ?? 1 } 최종답안(통과) import Foundation func solution(_ n:Int64) -> Int64{ let num = String(n)//"29463" var arr = [String]() var result = "" for i in num { a..
2021.12.05 -
프로그래머스 1단계) 정수 제곱근 판별
문제 첫번째 시도 func solution(_ n:Int64) -> Int64 { var x:Int if x > 0 && n == x * x { return (x + 1) * (x + 1) } x > 0 && n != x * x { return -1 } } 14:30 - 15:00 제출통과 import Foundation func solution(_ n:Int64) -> Int { var num = Int(pow(Double(n), 0.5)) let result = n == num * num ? (num + 1) * (num + 1) : -1 return result } 유의미한 답변 //Q10.정수 제곱근 판별 import Foundation func solution(_ n:Int64) -> Int {..
2021.12.03