“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
점의 위치 구하기
사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. 스크린샷 2022-07-07 오후 3.27.04 복사본.png x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
function solution(dot) {
if(dot[0] > 0 && dot[1] > 0){
return 1;
}
if(dot[0] < 0 && dot[1] > 0){
return 2;
}
if(dot[0] < 0 && dot[1] < 0){
return 3;
}
if(dot[0] > 0 && dot[1] < 0){
return 4;
}
}
주어진 좌표 dot의 첫 번째 요소가 양수이고 두 번째 요소도 양수일 경우, 이 좌표는 제1사분면에 속하므로 1을 반환합니다. 그 다음으로, 첫 번째 요소가 음수이고 두 번째 요소는 양수일 경우, 이 좌표는 제2사분면에 속하므로 2를 반환합니다. 세 번째로, 첫 번째 요소와 두 번째 요소가 모두 음수일 경우, 이 좌표는 제3사분면에 속하므로 3을 반환합니다. 마지막으로, 첫 번째 요소가 양수이고 두 번째 요소는 음수일 경우, 이 좌표는 제4사분면에 속하므로 4를 반환합니다. 위의 조건문들은 좌표의 x, y 값의 부호에 따라 해당하는 사분면 번호를 반환하는 역할을 합니다. 이렇게 각 조건을 확인하고 해당하는 사분면 번호를 반환하는 방식으로 동작합니다.
2 차원으로 만들기
정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.
function solution(num_list, n) {
// 정답배열 생성
const result = []
// 전 범위 순환
for(let i = 0 ; i < num_list.length; ) {
const sliceN = []
// n만큼 배열 생성
for(let j = 0 ; j < n ; j++) {
sliceN.push(num_list[i])
i++
}
result.push(sliceN)
}
return result
}
빈 배열 result를 생성합니다. 이 배열은 최종적으로 반환될 2차원 배열입니다.
그 다음, 외부의 for 루프를 사용하여 num_list의 범위를 순환합니다. 이 때, 반복 변수 i는 num_list의 인덱스를 나타냅니다.
내부의 for 루프에서는 sliceN이라는 빈 배열을 생성합니다. 이 배열은 n개의 요소를 가지게 될 것입니다.
sliceN 배열에는 num_list의 요소를 앞에서부터 n개씩 넣어줍니다. 이를 위해 내부의 for 루프에서 반복 변수 j를 사용합니다. j는 n까지 반복하면서 sliceN 배열에 num_list[i]를 추가하고, i를 1씩 증가시킵니다. 이렇게 함으로써 num_list의 요소를 n개씩 sliceN 배열에 추가하게 됩니다.
sliceN 배열이 완성되면, result 배열에 해당 배열을 추가합니다. 이렇게 함으로써 2차원 배열의 한 행이 형성됩니다.
외부의 for 루프가 모든 요소를 순환하면, 최종적으로 result 배열이 완성되고 이를 반환합니다.
예를 들어, 주어진 num_list가 [1, 2, 3, 4, 5, 6, 7, 8]이고 n이 2일 경우, num_list를 2개씩 묶어 2차원 배열로 변환합니다. 따라서 반환되는 결과는 [[1, 2], [3, 4], [5, 6], [7, 8]]입니다.