[lv2] n^2 배열 자르기

걸음걸음·2023년 3월 2일
0

Test

목록 보기
14/29
post-thumbnail

문제링크

  • n행 n열이 비어있는 2차원 배열
  • 1 <= i <= 2
  • 1행 1dufqnxj i행 i열까지 영역 내 모든 빈칸을 숫자 i로 채움
  • 1행, 2행, ... n행을 잘라내어 모두 이어붙인 새로운 1차원 배열(arr) 생성
  • arr[left], arr[left+1], ...arr[right]만 남기고 삭제

(예시)

    11= 1
    12= 2
    21= 2
    22= 2
    13= 3
    행과 열 중 높은 숫자로 채워짐
    (x,y) = Math.max(x, y) + 1

1차원 배열의 각 좌표값 구하기

(x,y)
x = Math.floor(i / n)
y = i % n

코드

function solution(n, left, right) {
    const result = [];
    for(let i = left; i<=right; i++){
        result.push(Math.max(Math.floor(i/n), i%n)+1)
    }
    return result;
}

다른 사람의 풀이

function solution(n, left, right) {
    var answer = [];
    for (let i = left; i <= right; i++) {
        answer.push(Math.max(i % n, parseInt(i / n)) + 1)
    }
    return answer;
}

어차피 최댓값을 구하는 것이기 때문에 x와 y의 위치는 상관이 없음. 기본적인 식은 같고 Math.floor 대신 parseInt를 사용하셨다.

profile
꾸준히 나아가는 개발자입니다.

0개의 댓글