백준 문제 링크
동전 복사
그림에서 처럼, 기계가 정사각형 모양이므로
1. 꼭짓점의 좌표는 작동 횟수 2회
2. 꼭짓점과 꼭짓점 사이의 좌표는 작동 횟수 3회
3. 나머지 안쪽은 작동 횟수 4회
4. 그 대신 변의 길이가 3 이상일 때부터 적용됨
N = int(input())
x, y = map(int, input().split(" "))
if N == 1:
print(0)
elif N == 2:
print(2)
else:
if (x == 1 and y == 1) or (x == 1 and y == N) or (x == N and y == 1) or (x == N and y == N):
print(2)
elif (x == 1 and y < N) or (x < N and y == N) or (x < N and y == 1) or (x == N and y < N):
print(3)
else:
print(4)
N = int(input())
x,y = map(int, input().split(" "))
n = [[0 for _ in range(N)] for _ in range(N)]
n[N-y][x-1] = 1
ans = 0
if N == 1:
print(0)
elif N == 2:
print(2)
else:
if n[0][0] == 1 or n[0][N-1] == 1 or n[N-1][0] == 1 or n[N-1][N-1] == 1:
print(2)
for i in range(1,N-1):
if n[0][i] == 1 or n[i][0] == 1:
print(3)
for i in range(1,N-1):
if n[i][N-1] == 1 or n[N-1][i] == 1:
print(3)
for i in range(1,N-1):
for j in range(1,N-1):
if n[i][j] == 1:
print(4)
처음엔 2번째 코드로 제출을 했었는데, 통과는 됐지만 for문 때문에
메모리와 시간이 너무 커서 코드를 간단하게 수정했다.