Olive Study Room
[백준 알고리즘] #2577번 : 정수가 포함하는 숫자 개수 출력 / forEach 본문
1은 처음 시도한 코드, 2는 다른 사람 코드.
forEach
- 배열의 모든 경우를 돌려준다.
- for-in과 같지만 불필요한 for _ in 1...Arrray.count의 형태를 없애 코드를 줄일 수 있다.
1. for-each로 0부터 9까지 돌려가며 같은 값 찾기(정수를 모든 자리를 배열로 만들기)
var value: Int = 1
var arr: [Int] = Array.init(repeating: 0, count: 10)
for _ in 1...3 {
let line = Int(readLine()!)!
value *= line
}
var result = String(value)
let arr2 = Array(result).map({String($0)})
arr2.forEach({
for i in 0...9 {
if $0 == String(i) {
arr[i] += 1
}
}
})
arr.forEach( {
print($0)
})
2. 정수 끝자리숫자부터 찾기
var value: Int = 1
var arr: [Int] = Array.init(repeating: 0, count: 10)
for _ in 1...3 {
let line = Int(readLine()!)!
value *= line
}
while value != 0 {
let index = value%10
arr[index] += 1
value /= 10
}
arr.forEach( {
print($0)
})
'cs > 알고리즘' 카테고리의 다른 글
[백준 알고리즘] #8958번 : 가우스 함수, compactMap, reduce (0) | 2021.06.23 |
---|---|
[백준 알고리즘] 5. 1차원 배열 (0) | 2021.06.20 |
[백준 알고리즘] #10818번 : 배열/속도 향상 (0) | 2021.06.19 |
[백준 알고리즘] #10951번 : EOF (0) | 2021.06.18 |
[백준 알고리즘] #2439번 : stride, print(_:separator:terminator:) (1) | 2021.06.14 |
Comments