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 |