문제
https://level.goorm.io/exam/195691/%ED%8F%AD%ED%83%84-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2/quiz/1
구름LEVEL
난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.
level.goorm.io
코드
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
String [][] board = new String [n][n];
int [][] answer = new int [n][n];
for(int i=0;i<n;i++){
st = new StringTokenizer(br.readLine());
for(int j=0;j<n;j++){
board[i][j] = st.nextToken();
}
}
int dy [] = {0,0,-1,0,1};
int dx [] = {0,1,0,-1,0};
for(int i=0;i<k;i++){
st = new StringTokenizer(br.readLine());
int y = Integer.parseInt(st.nextToken())-1;
int x = Integer.parseInt(st.nextToken())-1;
for(int t =0;t<5;t++){
int ny = y + dy[t];
int nx = x + dx[t];
if(ny<0||nx <0||ny>=n||nx>=n) continue;
if(board[ny][nx].equals("@")){
answer[ny][nx] = answer[ny][nx]+ 2;
}
else if(board[ny][nx].equals("0")){
answer[ny][nx] += 1;
}
}
}
int max = 0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if( answer[i][j] > max)
max = answer[i][j];
}
}
System.out.println(max);
}
}
문제
https://level.goorm.io/exam/195691/%ED%8F%AD%ED%83%84-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-2/quiz/1
구름LEVEL
난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.
level.goorm.io
코드
import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int k = Integer.parseInt(st.nextToken()); String [][] board = new String [n][n]; int [][] answer = new int [n][n]; for(int i=0;i<n;i++){ st = new StringTokenizer(br.readLine()); for(int j=0;j<n;j++){ board[i][j] = st.nextToken(); } } int dy [] = {0,0,-1,0,1}; int dx [] = {0,1,0,-1,0}; for(int i=0;i<k;i++){ st = new StringTokenizer(br.readLine()); int y = Integer.parseInt(st.nextToken())-1; int x = Integer.parseInt(st.nextToken())-1; for(int t =0;t<5;t++){ int ny = y + dy[t]; int nx = x + dx[t]; if(ny<0||nx <0||ny>=n||nx>=n) continue; if(board[ny][nx].equals("@")){ answer[ny][nx] = answer[ny][nx]+ 2; } else if(board[ny][nx].equals("0")){ answer[ny][nx] += 1; } } } int max = 0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if( answer[i][j] > max) max = answer[i][j]; } } System.out.println(max); } }