[프로그래머스] 연속된 수의 합 swift

2024. 6. 18. 16:20·개인 공부/프로그래머스


 

나의 풀이

import Foundation

func solution(_ num:Int, _ total:Int) -> [Int] {
    for i in -500..<500 {
        if (i..<i+num).reduce(0, +) == total {
            return Array(i..<i+num)
        }
    }
    return []
}

- 반복문 범위도 잘못 됐고 return 도 이렇게 하면 안되겠쥬ㅋ

- 다른 테케 있었음 범위 때문에 실패했을거임^^

- 음수 범위는 어떻게 해결해야될까..?

 

 

다른 사람의 풀이 참고해서 다시 풀어봄

import Foundation

func solution(_ num:Int, _ total:Int) -> [Int] {
    let a = (total - (num * (num - 1) / 2)) / num
    return (0..<num).map { $0 + a }
}

- 오 등차수열의 합 공식을 이용해서 풀 수 있군?

등차수열의 합 공식
n: 항 개수, a: 첫번째 항, l: 마지막 항

- 우리가 필요한건 a (첫번째 항)니까 그럼 a값을 알아낼 수 있는 식은

a = (total - (num * (num - 1) / 2)) / num

- 첫번째 항 a를 기준으로 0부터 num -1 순회해서 더해준 후 리턴하면 끝!

 

'개인 공부 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] Lv.1 두 정수 사이의 합 swift  (0) 2024.06.18
[프로그래머스] 다음에 올 숫자 swift  (0) 2024.06.18
[프로그래머스] 문자열 밀기 swift  (0) 2024.06.18
[프로그래머스] 잘라서 배열로 저장하기 swift  (0) 2024.06.18
[프로그래머스] OX퀴즈 swift  (0) 2024.06.17
'개인 공부/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] Lv.1 두 정수 사이의 합 swift
  • [프로그래머스] 다음에 올 숫자 swift
  • [프로그래머스] 문자열 밀기 swift
  • [프로그래머스] 잘라서 배열로 저장하기 swift
임구마🍠
임구마🍠
임구마🍠
임구마 블로그
임구마🍠
전체
오늘
어제
  • 분류 전체보기 (67)
    • iOS (13)
      • Swift (2)
      • SwiftUI (3)
      • UIKit (4)
      • Xcode (2)
      • WWDC (1)
    • SW 테스팅 (9)
      • CSTS (3)
      • ISTQB (5)
    • 네트워크 (5)
    • 자료구조 (2)
    • 알고리즘 (2)
    • 개인 공부 (29)
      • Git & Github (3)
      • 프로그래머스 (24)
      • 자격증 (2)
    • 기타 (7)
      • 원티드 프리온보딩 (1)
      • 취준 (1)
      • 컨퍼런스 (2)
      • 면접 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

데이터바인딩
imageLiteral
토큰기반인증
subscription
SQLD
네트워크 성능 분석
네트워크 병목 현상
인프콘2023
INFCON
나도 갈래
SwiftUITutorials
쿠키기반인증
ISTQB
wwdc19
EnvironmentObject
jwt
CSTS
갈래요
ObservedObject
세션기반인증
INFCON2023
StateObject
또주세요
코드스니펫
colorLiteral
자격증
인프콘
SwiftUI
combinelastest
introducing

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.3
임구마🍠
[프로그래머스] 연속된 수의 합 swift

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.