2025/10/27 5

1300 K번째 수

크기가 3 * 3인 이차원 배열 생성해 수를 저장하고, 일차원 배열에 오름차순 정렬해 넣으면1 2 2 3 3 4 6 6 9 가 저장되고, B[7] = 6이므로 (index는 이차원/일차원 모두 1부터 시작) 위 예제에서의 답은 6이다. 정렬 후 배열 B 안 K번째 수가 x라면, x보다 작거나 같은 수가 "최소" k개 있다는 것으로 해석할 수 있다. - ex1) 위 입력에서 k=8이었다면 B[8] = 6, 6 이하 수가 총 8개 존재한다. (k와 같다) (1, 2, 2, 3, 3, 4, 6, 6) - ex2) 위 입력에서 k=7이었다면 B[7] = 6, 6 이하 수가 총 8개 존재한다. (k보다 크다) (2, 3, 6처럼 같은 수가 여러 개 있을 수..

알고리즘 2025.10.27

9663 N-Queen

체스에서 퀸은 한 번에 가로, 세로, 대각선 칸으로 이동하는 칸 수 제한없이 이동할 수 있다. 즉 체스판의 가로 한 줄당 하나의 말만 올 수 있으므로 가로줄에 있는 말의 위치를 저장하는 queenPosition 배열을 통해 가로/세로 판별이 가능하다. 대각선에 있는지 파악하기 위해서는 기울기의 정의인 체스에서 퀸은 한 번에 가로, 세로, 대각선 칸으로 이동하는 칸 수 제한없이 이동할 수 있다. 즉 체스판의 가로 한 줄당 하나의 말만 올 수 있으므로 가로줄에 있는 말의 위치를 저장하는 queenPosition 배열을 통해 가로/세로 판별이 가능하다. 대각선에 있는지 파악하기 위해서 인덱스의 차이 (가로줄 차이)와 값의 차이 (세로줄 차이) 를 계산해, 둘이 같다면 같은 대각선에 있다 판단할 수 있다. ..

알고리즘 2025.10.27