프로그래머스 2단계 : n^2 배열 자르기 (Java 자바)

2023. 10. 5. 23:10·💻 코딩테스트/programmers
728x90

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

 

정수 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

 

입출력 예

 

 

 

 

풀이

 

public class Solution {

    // 정수 배열을 반환하는 메서드
    public int[] solution(int n, long left, long right) {
        // 배열의 길이 계산: right - left + 1
        int len = (int) (right - left) + 1;
        // 결과를 저장할 배열 생성
        int[] answer = new int[len];

        // 배열 인덱스
        int idx = 0;
        // left부터 right까지 반복
        for (long i = left; i <= right; i++) {
            // 현재 숫자 i를 n으로 나누어 행과 열을 계산
            long row = i / n;
            long col = i % n;
            // 각 셀의 최댓값을 계산하고 1을 더하여 배열에 저장
            answer[idx++] = Math.max((int) row, (int) col) + 1;
        }
        
        // 결과 배열 반환
        return answer;
    }
}
728x90
저작자표시 비영리 변경금지 (새창열림)

'💻 코딩테스트 > programmers' 카테고리의 다른 글

프로그래머스 3단계 : 파괴되지 않은 건물 (Java 자바)  (1) 2023.10.18
프로그래머스 3단계 : 표현 가능한 이진트리 (Java 자바)  (1) 2023.10.05
프로그래머스 2단계 : 할인행사 (Java 자바)  (1) 2023.10.05
프로그래머스 2단계 : H-Index (Java 자바)  (1) 2023.10.05
프로그래머스 2단계 : 행렬의 곱셈 (Java 자바)  (0) 2023.10.05
'💻 코딩테스트/programmers' 카테고리의 다른 글
  • 프로그래머스 3단계 : 파괴되지 않은 건물 (Java 자바)
  • 프로그래머스 3단계 : 표현 가능한 이진트리 (Java 자바)
  • 프로그래머스 2단계 : 할인행사 (Java 자바)
  • 프로그래머스 2단계 : H-Index (Java 자바)
gxxg
gxxg
함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
  • gxxg
    공공
    gxxg
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • ☁️ 구름 x 카카오 Deep Dive 풀스택 (7)
        • html, css (1)
        • Java (3)
        • 스프링 MVC (0)
      • 💻 코딩테스트 (89)
        • 백준 (2)
        • programmers (87)
      • SQLD (1)
      • Language (3)
        • Java (2)
        • JavaScript (1)
      • Style Sheet (0)
        • CSS (0)
        • SCSS & SASS (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
        • postgresql (0)
        • 데이터베이스 기초 이론 (0)
      • React (0)
      • SpringBoot (0)
      • JSP (2)
      • 알고리즘 (0)
      • 2023-02 몰입형 SW 정규 교육 (24)
        • 9월 프로젝트 (8)
      • 벽돌깨기 (4)
      • Etc (4)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코테
    spring
    이클립스
    LV3
    JSP
    eclipse
    자바스크립트
    HTML
    프로젝트 구조
    javascript
    junit 테스트
    java
    CSS
    programmers
    Lv2
    springboot
    0단계
    자바
    Lv0
    2단계
    DFS
    톰캣
    티스토리챌린지
    POST
    회원 관리 시스템
    프로그래머스
    코딩테스트
    3단계
    오블완
    구현체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gxxg
프로그래머스 2단계 : n^2 배열 자르기 (Java 자바)
상단으로

티스토리툴바