ios

문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 1차 코드 func solution(_ n:Int64) -> Int64 { var str = String(n) var srt = str.sorted() var rev = srt.reversed() var res = Int64(String(rev))! return res } 1차 결과 보완점 var가 아니라 let이어도 되는거였고 옵션 사용하려고 계속 줄을 늘릴 필요가 없었고, 마지막 var res 선언보다 차라리 return값을 저 내용으..
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 1차 코드 func solution(_ n:Int64) -> Int64 { for i in 1...n { if i * i == n { return (i + 1) * (i + 1) } } return -1 } 1차 결과
문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 1차 코드 import Foundation func solution(_ s:String) -> Bool { var ans:Bool = false var pCount = 0 var yCo..
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 1차 코드 func solution(_ n:Int64) -> [Int] { var arr = [Int]() var x = Int(n) while x > 0 { arr += [x % 10] x /= 10 } return arr } 1차 결과
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 1차 코드 import Foundation func solution(_ n:Int) -> Int { var answer:Int = 0 var num:Int = n while num > 0 { answer += num % 10 num = num / 10 } return answer } 1차 결과
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 조건 3 ≤ n ≤ 1,000,000 1차 코드 import Foundation func solution(_ n:Int) -> Int { for x in 1...n { if n % x == 1 { return x } } return 0 } 1차 결과 추가 의견 제한 조건의 최소 숫자가 3부터인데 굳이 1부터 돌려야했을까싶은 점 주어진 숫자 n에게서 나머지가 1이 되는 경우는 어쨌든 n - 1만큼만 돌리면 되는데 왜 n까지로 써놨는가? 한 줄에 정리되는 건 그냥 같은 줄에 적어도 된다고 배웠다..
문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 1차 코드 func solution(_ n:Int) -> Int { var res = 0 for i in 1...n { if n % i == 0 { res += i } } return res } 1차 결과 1차 진단 코어 덤프 오류가 한 문제에서 발생했다. n이 0일 때 1부터 0까지라고 설정된 for문에 문제가 있는 것 같아 0일 경우에 대한 if문을 작성하면 풀릴 것 같다. 2차 코드 func solution(_ n:Int) -> Int { var res = 0 if n == 0 { return 0 } for i in 1...n { if n %..
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 1차 시도 func solution(_ num:Int) -> String { if num % 2 == 1 { return "Odd" } else { return "Even" } } 1차 결과 1차 진단 통과는 되었으나 테스트 5, 6번에서 fail이 났다. 음수가 되면 무조건 else의 짝수를 리턴하게 되어 문제가 생기는 것 같다. 2차 시도 func solution(_ num:Int) -> String { if num % 2 == 1 || num % 2 == -1 { return "Odd" } else { ..
sngsp
'ios' 태그의 글 목록 (7 Page)