문제 1 / ReverseSentence
-목표 : 괄호의 순서에 따라 정수를 반환하는 프로그램 구현
최종 코드
class Solution {
public String[] solution(String s) {
String[] answer = {};
String replace = "[.,!?]";
String[] word = s.split("[ ,]+");
String[] temp = new String[word.length];
int index = 0;
for(String w : word){
if(w.length() > 0){
StringBuilder sb = new StringBuilder(w);
temp[index++] = sb.reverse().toString().replaceAll(replace, "");
}
}
answer = new String[index];
System.arraycopy(temp, 0, answer, 0, index);
return answer;
}
}
문제 2 / GreatestCommonFactor
-목표 : 피라미드의 블록 수를 계산하는 프로그램 작성
최종 코드
class Solution {
public int solution(int[] A) {
int answer = A[0];
for(int i=1; i<A.length; i++){
answer = gcd(answer, A[i]);
}
return answer;
}
private static int gcd(int a, int b){
if(b == 0){
return 0;
}
return gcd(b, a%b);
}
}
문제 3 / NthCanceledOrder
-목표 : 피라미드의 블록 수를 계산하는 프로그램 작성
최종 코드
class Solution {
public int solution(int[] orders, int n) {
int answer = 0;
int cancleOrder = 0;
int index = 0;
for(int i =1; ; i++){
if(index < orders.length && orders[index] == i){
index++;
}else {
cancleOrder++;
if(cancleOrder == n){
answer = i;
break;
}
}
}
return answer;
}
}
문제 4 / MostClosestNumberToZero
-목표 : 피라미드의 블록 수를 계산하는 프로그램 작성
최종 코드
class Solution {
public int solution(int[] arr) {
int answer = arr[0];
for(int num : arr){
if(Math.abs(num) < Math.abs(answer) ||
(Math.abs(num) == Math.abs(answer) && num < answer)){
answer = num;
}
}
return answer;
}
}
문제 5 / RemoveDuplicatedWord
-목표 : 피라미드의 블록 수를 계산하는 프로그램 작성
최종 코드
풀지 못하였음,
'코딩테스트' 카테고리의 다른 글
알고리즘 문제풀이 3-2 (0) | 2025.03.18 |
---|---|
알고리즘 문제풀이 3-1 (0) | 2025.03.18 |
알고리즘 문제풀이 2-4 (0) | 2025.03.13 |
알고리즘 문제풀이 2-3 (0) | 2025.03.12 |
알고리즘 문제풀이 2-1 (0) | 2025.03.10 |