Python

알고리즘 - python

내이름효주 2024. 8. 8. 23:19

a_input = input()
b_input = input()

a = eval(a_input)
b = eval(b_input)

# a = [4,4]
# b = [[2, 6], [3, 3], [5, 3], [6, 6], [7, 2]]

for point in b:
    x = a[0] - point[0]  
    y = a[1] - point[1]
    
    abs_x = abs(x)
    abs_y = abs(y)
    
    if abs(abs_x - abs_y) == 0:
        print("Success!")
    else:
        print("Fail!")
  • eval()
    • 문자열로 표현되는 표현식을 계산해줌
    • 단점: 1. 사용자가 입력한 문자열을 그대로 실행시켜주기 때문에 파이썬 인터프리터의 동작을 사용자의 입력이 결정할 수있어서 예상치 못 한 동작을 할 수도 있음
       2. Command Injection Flaws: 일반적으로 응용 프로그램이 안전하지 않은 사용자 입력을 시스템 셸이나 명령 해석기에 직접 전달할 때 발생

🧩 내가 생각했던 방식

- 일단 나는 대각선 한 칸씩만 가능한거로 생각해서

- [[1,1],[1,-1],[-1,1],[-1,-1]] 이런 배열을 만들어서 a 배열에 더해서 b 배열 값들과 비교하는 식으로 생각함

- 대각선 무제한 이동이면 내가 생각한 방법은 아주 별로다...ㅎ