-
[프로그래머스] n^2 배열 자르기_Java코딩테스트 2024. 5. 3. 15:44
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/87390?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
1. n행 n열 크기의 비어있는 2차원 배열을 만들고, 행과 열 중 큰 수의 값으로 채운다.
2. 2차원 배열을 잘라 붙여 1차원 배열로 만든다.
3. 주어진 left값을 시작 index로, right를 마지막 index로 하여 새로운 배열을 만들어 반환한다.
코드
right와 left 값의 차를 이용하여 배열을 생성한다.
2차원 배열에서의 행과 열을 구해, 둘 중 큰 값을 담아 return 한다.
- 행 = index % n(행) +1
- 열 = index / n(행) +1
class Solution { public int[] solution(int n, long left, long right) { int size = (int) (right-left+1); int[] answer = new int [size]; for(int i=0;i<size; i++){ long start = left+i; answer[i] = (int) Math.max(start/n+1,start%n+1); } return answer; } }
실행 결과
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 가장 먼 노드_Java (0) 2024.05.05 [프로그래머스] k진수에서 소수 개수 구하기_Java (0) 2024.05.03 [백준] 1149 RGB거리_Java (1) 2024.05.01 [백준] 11659 구간 합 구하기 4_Java (1) 2024.05.01 [백준] 5532 방학 숙제_Java (1) 2024.05.01