프로그래머스 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)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.