프로그래머스 (이차원 배열 대각선 순회하기)
public class problem419 {
class Solution {
public int solution(int[][] board, int k) {
int answer = 0;
for (int i = 0; i < board.length; i++) {
// board.length로 똑같이 조건을 걸면,
// [[0, 1],[1, 2],[2, 3]] 경우 인덱스 에러 발생
for (int j = 0; j < board[0].length; j++) {
if (i + j <= k) {
answer += board[i][j];
}
}
}
return answer;
}
}
}
프로그래머스 (문자열이 몇 번 등장하는지 세기)
public class problem420 {
class Solution {
public int solution(String myString, String pat) {
int count = 0;
int len = pat.length();
int mySize = myString.length() - len + 1;
for (int i = 0; i < mySize; i++) {
// pat의 길이만큼 검증
String temp = myString.substring(i, len + i);
// 문자열이랑 같을경우 증가
if (temp.equals(pat)) {
count++;
}
}
return count;
}
}
}
프로그래머스 (잘라서 배열로 저장하기)
public class problem421 {
class Solution {
public String[] solution(String my_str, int n) {
int size = (my_str.length() + n - 1) / n;
String[] answer = new String[size];
for (int i = 0; i < size; i++) {
int start = n * i;
int end = 0;
// 문자열의 길이와 같거나 클경우,
// 남은문자열을 그대로 저장
if (start + n >= my_str.length()) {
end = my_str.length();
} else {
end = start + n;
}
answer[i] = my_str.substring(start, end);
}
return answer;
}
}
}
프로그래머스 (수열과 구간 쿼리 4)
import java.util.Arrays;
public class problem422 {
class Solution {
public int[] solution(int[] arr, int[][] queries) {
int[] answer = Arrays.copyOf(arr, arr.length);
for (int i = 0; i < queries.length; i++) {
int start = queries[i][0]; // start 인덱스
int end = queries[i][1]; // end 인덱스
int boundry = queries[i][2]; // 배수인지 검증 값
// start 인덱스 부터 end 인덱스 까지 배수인지 확인
for (int j = start; j <= end; j++) {
if (j % boundry == 0) {
answer[j] += 1;
}
}
}
return answer;
}
}
}