티스토리 뷰
문제 요약
- 이전의 오큰수 문제에서 숫자의 크기를 숫자가 등장한 횟수로 바꾼 문제이다.
풀이
- 숫자의 횟수를 저장하는 F배열을 만들어주었다. 나머지는 앞의 문제와 동일
import Foundation
let N = Int(readLine()!)!
var A = readLine()!.split(separator: " ").map { Int($0)! }
var F: [Int] = Array(repeating: 0, count: 1000000)
var stack: [Int] = []
var result: [Int] = Array(repeating: -1, count: N)
for i in 0..<N {
F[A[i] - 1] += 1
}
for i in 0..<N {
while !stack.isEmpty && F[A[stack.last!] - 1] < F[A[i] - 1] {
result[stack.popLast()!] = A[i]
}
stack.append(i)
}
print(result.map {String($0)}.joined(separator: " "))
- F []를 구하는데 filter를 사용했었지만 시간 초과로 실패했었다.
- 처음 F를 선언할 때 크기를 N으로 해주었지만 컴파일 에러가 나와서 구글링을 해서 해결했다. (근데 왜 그런거지.. ? )
'Algorithm > 백준' 카테고리의 다른 글
[BOJ] (Swift) 10809 - 알파벳 찾기 (0) | 2022.08.05 |
---|---|
[BOJ] (Swift) 10808 - 알파벳 개수 (0) | 2022.08.05 |
[BOJ] (Swift) 17298 - 오른수 (0) | 2022.08.04 |
[BOJ] (Swift) 1935 - 후위 표기식 2 (0) | 2022.08.03 |
[BOJ] (Swift) 10799 - 쇠막대기 (0) | 2022.08.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 2023 회고
- BOJ 10808
- UICollectionView Error
- BOJ 10809
- BOJ 1935
- CAGradientLayer
- github
- NaverMaps
- crud
- git
- autolayout
- sheetPresentationController
- Custom Detent
- ios
- BOJ 10866
- BOJ 10799
- Carousel Effect
- swift
- Gradient View
- BOJ 17298
- Sheet Height
- 요시푸스
- Stack
- Card CollectionVIew
- bottom sheet
- 1406 에디터
- UICollectionView banner
- Algorithm
- BOJ 17413
- BOJ 10820
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함