[프로그래머스] Lv.2 n^2 배열 자르기 (Java)

2023. 6. 19. 13:40·Algorithms(CT)/Programmers

https://school.programmers.co.kr/learn/courses/30/lessons/87390

 

프로그래머스

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

programmers.co.kr

 


풀이 과정

1. 규칙성 찾기

(0,0)
1
(0,1)
2
(0,2)
3
(1,0)
2
(1,1)
2
(1,2)
3
(2,0)
3
(2,1)
3
(2,2)
3

예시 1번을 2차원 배열로 나타냈을 때는 위의 표와 같습니다.

 

이 부분에서 (x,y)좌표의 값에 대한 규칙을 찾을 수 있었습니다.

x,y좌표 중 큰 값에 +1을 하는 것입니다.

 

예를 들어, (1,1)이면 Math.max(1,1)+1 = 2 이런 식으로 구할 수 있습니다.

 

2. 1차원 배열 index값인 left와 right를 2차원배열의 (x,y)형태의 index로 바꿔주기

현재 구하려는 index를  n으로 나눈 몫(index/n)이 행이 되고, n으로 나눈 나머지(index%n)가 열이 됩니다.

 

3. 2차원 배열 index에 맞는 값을 1번 과정을 통해 구하고 answer배열에 대입


전체 코드

class Solution {
    public int[] solution(int n, long left, long right) {
    
        int[] answer = new int[(int)(right-left)+1];
        
        for(int i=0;i<answer.length;i++){
            
            long idx = left+i; //현재 index
            
            //(x,y)
            long x = idx/n;//행
            long y = idx%n;//열
            
            answer[i] = Math.max((int)x,(int)y)+1;
            
        }
        
        return answer;
    }
}

'Algorithms(CT) > Programmers' 카테고리의 다른 글

[프로그래머스] Lv.4 징검다리 (Java)  (0) 2023.06.26
[Java] Lv.2 N진수 게임  (0) 2023.06.24
[프로그래머스][Java] Lv.2 k진수에서 소수 개수 구하기  (0) 2023.06.22
[프로그래머스] Lv2. 뉴스 클러스터링 (Java)  (0) 2023.06.21
[프로그래머스] Lv.2 연속 부분 수열 합의 개수 (Java)  (0) 2023.06.19
'Algorithms(CT)/Programmers' 카테고리의 다른 글
  • [Java] Lv.2 N진수 게임
  • [프로그래머스][Java] Lv.2 k진수에서 소수 개수 구하기
  • [프로그래머스] Lv2. 뉴스 클러스터링 (Java)
  • [프로그래머스] Lv.2 연속 부분 수열 합의 개수 (Java)
gwee_99
gwee_99
bE bETTER!
  • gwee_99
    얼렁이와 뚱땅이
    gwee_99
  • 전체
    오늘
    어제
    • ====Category====
      • Algorithms(CT)
        • Programmers
        • Baekjoon
        • Goorm
      • Web
        • Error 해결
      • BackEnd
        • Spring
        • JPA
      • FrontEnd
        • HTML.CSS
        • JavaScript
      • Language
        • Java
      • Cloud
      • CSTS
      • Books
        • IT 5분 잡학사전
      • 일상
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    Til
    노마드코더
    제대로 파는 자바스크립트
    BFS
    구름톤 챌린지
    인프런
    java
    자바
    DFS
    DP
    IT 5분 잡학사전
    lv2
    HTML
    LV.2
    존안님
    Greedy
    Lv.1
    호텔 대실
    IT 잡학사전
    코딩테스트
    그리디
    LV.3
    BOJ
    프로그래머스
    따라하며 배우는 html css
    개발자북클럽
    백준
    스택
    lv.4
    구름
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gwee_99
[프로그래머스] Lv.2 n^2 배열 자르기 (Java)
상단으로

티스토리툴바