가로로 쫙더한거랑 세로로 쫙더한거 만들어두고,전체for돌려서 둘다 1이고 자기자신도 1인거 찾으면+1
가로세로있는건 헷갈리니까 row,column으로 ij대신하자
정답
class Solution {
fun numSpecial(mat: Array<IntArray>): Int {
var res=0
val rowList= MutableList(mat.size){0}
val columnList=MutableList(mat[0].size){0}
for (row in 0 until mat.size){
for (column in 0 until mat[0].size){
if (mat[row][column]==1) {
rowList[row]++
columnList[column]++
}
}
}
for (row in 0 until mat.size){
for (column in 0 until mat[0].size){
if (mat[row][column]==1 && rowList[row]==1 && columnList[column]==1){
res+=1
}
}
}
println(res)
return res
}
}
'알고리즘' 카테고리의 다른 글
릿코드 1436. Destination City 코틀린 (0) | 2023.12.15 |
---|---|
릿코드 2482. Difference Between Ones and Zeros in Row and Column 코틀린 (0) | 2023.12.14 |
릿코드 1464. Maximum Product of Two Elements in an Array 코틀린 (0) | 2023.12.12 |
릿코드 1287. Element Appearing More Than 25% In Sorted Array 코틀린 (0) | 2023.12.11 |
릿코드 867. Transpose Matrix 코틀린 (0) | 2023.12.10 |