Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
more
Archives
Today
Total
관리 메뉴

Olive Study Room

[백준 알고리즘] #2577번 : 정수가 포함하는 숫자 개수 출력 / forEach 본문

cs/알고리즘

[백준 알고리즘] #2577번 : 정수가 포함하는 숫자 개수 출력 / forEach

Olive Dev 2021. 6. 19. 17:47

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)
})
Comments