코딩테스트/JAVA
[JAVA] 프로그래머스 - 기초문제 Day7
yo~og
2023. 11. 3. 23:33
https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc&languages=java
코딩 기초 트레이닝 | 프로그래머스 스쿨
프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.
school.programmers.co.kr
Day 7 - 반복문
- 수열과 구간 쿼리 4
class Solution {
public int[] solution(int[] arr, int[][] queries) {
for(int[] q:queries){
for(int i=q[0];i<=q[1];i++){
if(i%q[2]==0){arr[i]+=1;}
}
}
return arr;
}
}
- 배열 만들기 2
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
class Solution {
public int[] solution(int l, int r) {
List<Integer> answer = new ArrayList<>();
for(int i=l;i<=r;i++){
boolean check = true;
for(char s: String.valueOf(i).toCharArray()){
if(!(s=='5' || s=='0')){
check = false;
break;
}
}
if(check) answer.add(i);
}
return answer.size()==0?new int[]{-1}:
answer.stream()
.mapToInt(Integer::intValue)
.toArray();
}
}
- 카운트 업
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int start_num, int end_num) {
return IntStream.range(start_num,end_num+1).toArray();
}
}
- 콜라츠 수열 만들기
import java.util.*;
import java.util.Arrays;
class Solution {
public int[] solution(int n) {
List<Integer> arr = new ArrayList<>();
arr.add(n);
while(n>1){
if(n%2==0){n/=2;}
else{n=(3*n+1);}
arr.add(n);
}
return arr.stream().mapToInt(Integer::intValue).toArray();
}
}
import java.util.*;
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
return IntStream.concat(
IntStream.iterate(n,i->i>1, i->i%2==0?i/2:i*3+1),
IntStream.of(1)
).toArray();
}
}
- 배열 만들기 4
import java.util.*;
import java.util.stream.*;
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
List<Integer> stk = new ArrayList<>();
int i=0;
while(i<arr.length){
if(stk.isEmpty() || arr[i] > stk.get(stk.size()-1)){
stk.add(arr[i]);
i+=1;
}else{
stk.remove(stk.size()-1);
}
}
return stk.stream().mapToInt(Integer::intValue).toArray();
}
}