Si Jong Tech Blog
close
프로필 배경
프로필 로고

Si Jong Tech Blog

  • 분류 전체보기 (254)
    • ◽️ Programming (254)
      • T I L (93)
      • Swift 문법 (23)
      • UIKit (18)
      • SwiftUI (13)
      • TCA (7)
      • RxSwift (7)
      • iOS (44)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
  • 홈
  • 태그
  • 방명록

정수 제곱근 판별

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. func solution(_ n:Int64) -> Int64 { let x = Int64(Double(n).squareRoot()) if n == x * x { return (x + 1) * (x + 1) } else { return -1 } return 0 }let x = Int64(Double(n).squareRoot()) 주어진 정수 n에 대해 제곱근을 구하고, 그 제곱근을 정수로 변환하여 x..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 3.
  • textsms

문자열을 정수로 바꾸기

문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. func solution(_ s:String) -> Int { return Int(s)! }맨 처음 강제추출(!) 하지 않고 Int(s) 를 리턴했을 경우, 오류로 인해 진행하지 못했으나, 강제추출을 통해 원하는 답을 찾을 수 있었다.

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 3.
  • textsms

자연수 뒤집어 배열로 만들기

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. func solution(_ n:Int64) -> [Int] { let reversedString = String(n).reversed() return reversedString.compactMap { Int(String($0))} }위 코드에서 String(n).reversed() 는 숫자로 주어진 n 을 문자열(String)로 변환한 뒤 뒤집은 것(.reversed())을 나타낸다. 이렇게 문자열로 변경 후 뒤집은 문자를 reversedString 변수 내 저장한 후 이 값을 배열로 나타내..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 3.
  • textsms

x만큼 간격이 있는 n개의 숫자

문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다.func solution(_ x:Int, _ n:Int) -> [Int] { if x == 0 { return Array(repeating: 0, count: n) } return Array(stride(from: x, to: x + n * x, by: x)) }먼저 x 부터 시작해 x 씩 증가하는 이라는 문제를 봤을때 이전에 활용했던 stride 를 사용할 수 있을 것 같..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

나머지가 1이 되는 수 찾기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000import Foundation func solution(_ n:Int) -> Int { for i in 2 ..< n { if n % i == 1 { return i } } return 0 }n을 x로 나눈 수가 나머지가 1이되는 수를 구하는 식을 만들면 for 반복문을 사용하여 i에 3이상의 n 을 담는다. if문을 사용하여 n 을 i 로 나눠 나머지 1을 가지는 수를 구한 후 이 수를 반환하면 문제가 풀린다.

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

약수의 합

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다.func solution(_ n:Int) -> Int { guard n > 0 else { return 0 } var sum = 0 for number in 1...n { if n % number == 0 { sum += number } }먼저 정수인 0부터 n까지의 수를 for 반복문을 사용하여 값을 구한 뒤 if 문을 사용하여 약수를 구했다. 약수는 정수가 나눠질 수 있는 최소한의 수 이므로, number에 나온 값에 n을 나눴을때 나머지가 0인 수들을 저장하였고 그렇게 나온 약수들의 합을 구해야 하므로, number에 약수들의 합을 sum에 저..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

자릿수 더하기

알고리즘 풀이 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 import Foundation func solution(_ n: Int) -> Int { let digits = String(n) var sum = 0 for char in digits { if let digit = Int(String(char)) { sum += digit } } return sum } 오늘 이 알고리즘은 Int 값을 String으로 바꾸는 법을 알지 못해 거의 손을 대지 못했다.. 먼저 n 값의 타입을 Strin..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

짝수와 홀수 , 평균 구하기

알고리즘 풀이 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다.func solution(_ num:Int) -> String { if num % 2 == 0 { return "Even" } else { return "Odd" } }오늘은 따로 오답이 없이 내가 생각한 수식이 그대로 정답이었다.. 기분이 매우 좋았다. 저 식을 작성한 이유는 정수 num의 짝수의 값을 정하여 짝수의 값과 홀수의 값을 구하는 것이었으며, 이는 if 문을 통해 표현 할 수 있다고 생각했다. 그렇기 때문에 num 을 2로 나눴을때 나머지가 0이라는 말은 짝수라는 말이므로 "Even"..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

배열의 평균값

문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다. 오늘은 풀이를 보지 않고 많이 고민하며 문제를 풀어봤으나 몇가지 생각나지 않는 부분이 있었다. 먼저 for 문을 사용하여 구해보려고 했다. 내가 쓴 답 import Foundation func solution(_ numbers:[Int]) -> Double { let sum = 0 for 0 ... numbers in { (sum += numbers) / numbers } return sum } for ..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms

두수의 나누기 , 각도기

첫번째 문제 문제 설명 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. 입출력 예 #1 num1이 3, num2가 2이므로 3 / 2 = 1.5에 1,000을 곱하면 1500이 됩니다.import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { let answer = (num1 * 1000) / num2 return answer }처음 이 문제를 풀때 적었던 식은 let answer = (num1 / num2) * 1000 이었다. 위 내용으로 풀이를 해보니 출력 예와 다르게 소수점 두자리까지 표현하지 못하고 소수점을 버리고 ..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 2.
  • textsms
  • navigate_before
  • 1
  • ···
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • navigate_next
프로필 로고

Si Jong Tech Blog

전체 카테고리
  • 분류 전체보기 (254)
    • ◽️ Programming (254)
      • T I L (93)
      • Swift 문법 (23)
      • UIKit (18)
      • SwiftUI (13)
      • TCA (7)
      • RxSwift (7)
      • iOS (44)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
최근 글
인기 글
최근 댓글
태그
  • #tableView
  • #오블완
  • #IOS
  • #알고리즘
  • #uikit
  • #project
  • #TIL
  • #swift
  • #티스토리챌린지
  • #MVC
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바