본문 바로가기
CodeSignal

Circle of Numbers

by Doromi 2024. 2. 5.
728x90
반응형

원형으로 배치된 정수들 중에서, 주어진 firstNumber와 반대편에 위치한 숫자를 찾는 것입니다. 원의 둘레에 따라 숫자들이 배치되어 있다고 가정하며, 이때 firstNumber의 반대편에 위치한 숫자를 찾아 반환합니다.

예를 들어, n = 10이고 firstNumber = 2라면, 원의 둘레에 0부터 9까지의 숫자가 순서대로 배치되어 있다고 생각할 수 있습니다. 여기서 firstNumber가 2이므로, 반대편에 위치한 숫자는 7이 됩니다.

int solution(int n, int firstNumber) {
    // 반대편에 위치한 숫자는 (firstNumber + n / 2) % n 입니다.
    int oppositeNumber = (firstNumber + n / 2) % n;
    return oppositeNumber;
}
이때, firstNumber가 2라면 반대편에 위치한 숫자는 2에서부터 정확히 반쪽만큼 떨어진 위치에 있으므로 7이 됩니다. 따라서 (2 + 10 / 2) % 10을 계산하면 7이 됩니다.

만약 firstNumber가 0이었다면, 반대편에 위치한 숫자는 정확히 원의 중심에 위치하게 됩니다. 따라서 (0 + 10 / 2) % 10을 계산하면 5가 됩니다.

이것은 원의 중심에서 얼마나 떨어져 있는지를 나타내는 개념이며, 원의 중심으로부터 반대편에 위치한 숫자를 찾기 위해 (firstNumber + n / 2) % n을 사용한 것입니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

Tennis Set  (0) 2024.02.20
Late Ride  (0) 2024.02.06
Sudoku  (0) 2024.01.31
spiralNumbers  (0) 2024.01.17
messageFromBinaryCode  (1) 2024.01.14