알고리즘
릿코드 463. Island Perimeter 코틀린
rkrkrr0101
2024. 4. 18. 16:15
크기작으니까 그냥 o(n^2)쓰면서 상하좌우중 0인거의 갯수만큼 다 더하면될듯
함수로 뺴는게 더깔끔할거같긴한데 귀찮다
정답
class Solution {
fun islandPerimeter(grid: Array<IntArray>): Int {
var res=0
for (i in grid.indices) {
for (j in grid[0].indices) {
if (grid[i][j] == 1) {
if (i+1>=grid.size){
res+=1
}else{
if(grid[i+1][j]==0){
res+=1
}
}
if (i-1<0){
res+=1
}else{
if(grid[i-1][j]==0){
res+=1
}
}
if (j+1>=grid[0].size){
res+=1
}else{
if(grid[i][j+1]==0){
res+=1
}
}
if (j-1<0){
res+=1
}else{
if(grid[i][j-1]==0){
res+=1
}
}
}
}
}
return res
}
}