diff --git a/combination-sum/HISEHOONAN.swift b/combination-sum/HISEHOONAN.swift new file mode 100644 index 000000000..7a8eaa0cc --- /dev/null +++ b/combination-sum/HISEHOONAN.swift @@ -0,0 +1,33 @@ +// +// Untitled.swift +// Algorithm +// +// Created by 안세훈 on 4/14/25. +// + +class Solution { + func combinationSum(_ candidates: [Int], _ target: Int) -> [[Int]] { + var middleArray : [Int] = [] // 연산중인 배열 + var resultArray : [[Int]] = [] // 결과 배열 + + func recursive(startIndex : Int, Sum : Int){ //재귀함수. 시작index, 합계 + if Sum == target{ //합계가 목표와 같다면 + resultArray.append(middleArray) //결과 배열로 연산배열 append + return //종료 + } + if Sum > target{ // 합계가 목표보다 크다면, + return //그대로 리턴 + } + //핵심 + for i in startIndex.. Int { + var num = n //n을 저장할 변수 + var remain = 0 //나머지를 저장할 변수 + var array : [Int] = [] //이진법으로 변환한 수를 저장할 배열 + + while num > 0{ //num이 0보다 클때만 반복 + remain = num % 2 //num을 2로 나눈 나머지를 저장 + num = num / 2 //num을 2로 나눈 몫을 저장 + array.append(remain) //array에 나머지를 저장 + } + + return array.filter{$0 == 1}.count //array에 1만 추출한 후 그 개수 리턴 + } +} diff --git a/valid-palindrome/HISEHOONAN.swift b/valid-palindrome/HISEHOONAN.swift new file mode 100644 index 000000000..55fce1c3c --- /dev/null +++ b/valid-palindrome/HISEHOONAN.swift @@ -0,0 +1,19 @@ +// +// Untitled.swift +// Algorithm +// +// Created by 안세훈 on 4/14/25. +// + +class Solution { + func isPalindrome(_ s: String) -> Bool { + var validS = s.lowercased().filter{$0.isNumber == true || $0.isLetter == true} + //s를 모두 소문자로 변환 후 숫자 or 문자가 true인 문자만 validS에 배열로 추출. + + if validS == String(validS.reversed()){ //validS와 뒤집은 것과 같다면 true 아니면 false + return true + }else{ + return false + } + } +}