일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Siwft
- 카카오 2021
- 데이터셋 만들기
- fast.ai
- 스위프트
- 카카오 2019
- SwiftUI
- 날씨 앱
- c언어
- 소수
- swift
- 파이썬
- Python
- ios 개발 시작
- 카카오 2020
- 머신러닝
- 최솟값 만들기
- 프로그래머스
- kakao 2018
- supervisely
- 문제
- swift 배열
- 이미지학습
- swift 시작
- coco 데이터셋
- Kakao
- 프로그래머스 답
- 카카오 2018
- 카카오
- roboflow
Archives
- Today
- Total
잡초의 일지
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2019 KAKAO BLIND RECRUITMENT -> 실패율 본문
[코딩] 문제풀기/Swift
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2019 KAKAO BLIND RECRUITMENT -> 실패율
JabCho 2021. 2. 20. 07:07728x90
반응형
SMALL
func solution(_ N:Int, _ stages:[Int]) -> [Int] {
var fail = [[Double]]()
var last = 0
var numerator:Double // 분자
var denominator:Double // 분모
var current = stages.count
var i = 0
for _ in 1...N {
var count = 0
for stage in stages {
if (i+1 == stage){
count += 1
}
}
numerator = Double(count)
denominator = Double(current - last)
fail.append([Double(numerator/denominator), Double(i+1)])
last = Int(numerator)
current = Int(denominator)
i += 1
}
fail.sort { $0[0] > $1[0] }
var result: Array<Int> = []
for failStage in fail {
result.append(Int(failStage.last!))
}
return result
}
문제를 이해하는데 조금 어려움이 있었지만, 이해를 하고 나니 어떻게 풀지 생각이 그려졌다.
너무 많은 변수들을 마구잡이로 사용한것같은 기분이 든다. 특히 count는 그냥 numerator로 사용해도 될 듯 하다.
실행 시간이 오래 걸려서 내가 간단하게 짜지 못했나 라는 생각이 들었다.
728x90
반응형
LIST
'[코딩] 문제풀기 > Swift' 카테고리의 다른 글
[Swift] 프로그래머스 | 코딩테스트 연습 -> 연습문제 -> x만큼 간격이 있는 n개의 숫자 (0) | 2021.05.17 |
---|---|
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2018 KAKAO BLIND RECRUITMENT -> [1차] 비밀지도 (0) | 2021.02.20 |
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2021 KAKAO BLIND RECRUITMENT -> 신규 아이디 추천 (0) | 2021.02.20 |
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2020 카카오 인턴십 -> 키패드 누르기 (0) | 2021.02.19 |
[Swift] 프로그래머스 | 코딩테스트 연습 -> 2019 카카오 개발자 겨울 인턴십 -> 크레인 인형뽑기 게임 (0) | 2021.02.19 |
Comments