일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 큐
- windosw 문자열
- c언어
- 자료구조
- 두근두근 자료구조
- 정렬 알고리즘
- SWiFT
- War Game
- ftz level13
- 시간복잡도
- Stack
- OSI
- windosws wbcs
- level13
- Java
- C
- 암호수학
- 미로 탐색 알고리즘
- pwnable.kr
- LoB
- 백준
- web
- 재귀
- 파일 시스템
- HTML
- 파이썬
- ftz
- System
- 스택
- PHP
Archives
- Today
- Total
나의 기록, 현진록
[Swift] 프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자(상반기)로또의 최고 순위와 최저 순위 본문
Programming/Algorithm & Data Structure
[Swift] 프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자(상반기)로또의 최고 순위와 최저 순위
guswlsdk 2022. 6. 28. 10:52반응형
풀이
1. 먼저 0의 갯수를 파악한다.
2. 0을 제외한 번호 중 당첨 번호 갯수를 파악한다.
3. 최고 순위 = 당첨 번호 갯수 + 0의 갯수, 최저 순위 = 당첨 번호 갯수이다.
풀어봤던 프로그래머스 코딩테스트 연습 level1 문제 중 가장 쉬운 것 같다.
코드
import Foundation
func winRank(num: Int) -> Int{
switch num{
case 6: return 1
case 5: return 2
case 4: return 3
case 3: return 4
case 2: return 5
default: return 6
}
}
func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] {
let unknownNumCount = lottos.filter { $0 == 0 }.count
var winCount = 0
for num in lottos.filter({ $0 != 0 }){
if win_nums.contains(num){
winCount += 1
}
}
return [winRank(num: winCount+unknownNumCount), winRank(num: winCount)]
}
반응형
'Programming > Algorithm & Data Structure' 카테고리의 다른 글
[Swift] 프로그래머스 2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어 (0) | 2022.07.05 |
---|---|
[Swift] 프로그래머스 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 (0) | 2022.07.04 |
[Swift] 프로그래머스 2022 KAKAO BLIND RECRUITMENT신고 결과 받기 (0) | 2022.06.27 |
[Swift] 프로그래머스 코딩테스트 연습>괄호 변환 (0) | 2022.05.31 |
[Swift] 프로그래머스 코딩테스트 연습 > 짝지어 제거하기 (0) | 2022.05.27 |