[알고리즘] n^2 배열 자르기

2023. 1. 30. 15:50·알고리즘
반응형

문제 설명

정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.

  1. n행 n열 크기의 비어있는 2차원 배열을 만듭니다.
  2. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.
    • 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.
  3. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.
  4. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.

정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ n ≤ 107
  • 0 ≤ left ≤ right < n2
  • right - left < 105

입출력 예

n left right result
3 2 5 [3,2,2,3]
4 7 14 [4,3,3,3,4,4,4,4]

입출력 예 설명

입출력 예 #1

  • 다음 애니메이션은 주어진 과정대로 1차원 배열을 만드는 과정을 나타낸 것입니다.

입출력 예 #2

  • 다음 애니메이션은 주어진 과정대로 1차원 배열을 만드는 과정을 나타낸 것입니다.

나의 풀이

function solution(n, left, right) {
    var answer = [];
 
    for(let i = left; i <= right; i++) {
        const column = parseInt(i / n)
        const row = i % n;
        
        let num = column;
        
        if(row >= column) {
            num = row;
        }
        
        answer.push(num + 1)
    }

    return answer;
}
반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[알고리즘] 전력망을 둘로 나누기  (0) 2023.02.03
[알고리즘] 피로도 - 다시 풀기  (0) 2023.02.01
[알고리즘] 롤케이크 자르기  (0) 2023.01.24
[알고리즘] 괄호 회전하기  (0) 2023.01.23
[알고리즘] 할인 행사  (0) 2023.01.20
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 전력망을 둘로 나누기
  • [알고리즘] 피로도 - 다시 풀기
  • [알고리즘] 롤케이크 자르기
  • [알고리즘] 괄호 회전하기
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    바질 키우기
    webpack
    redux
    덤프
    Node.js
    ReactNative
    바질
    타입스크립트
    typescript
    다이소
    ChatGPT
    next.js
    Babel
    프로그래머스
    CCNA
    Docker
    CSS
    영어회화
    리액트
    리얼클래스
    리얼학습일기
    타일러영어
    식물
    네이버 부스트캠프
    react
    자바스크립트
    네트워크
    영어독학
    알고리즘
    javascript
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] n^2 배열 자르기
상단으로

티스토리툴바