프로그래머스 (조건 문자열)
public class problem405 {
class Solution {
public int solution(String ineq, String eq, int n, int m) {
// ineq 문자열이 ">"일 경우
if (ineq.equals(">")) {
if (eq.equals("=")) {
if (n >= m) {
return 1;
} else {
return 0;
}
} else if (eq.equals("!")) {
if (n > m) {
return 1;
} else {
return 0;
}
}
}
// ineq 문자열이 "<"일경우
else if (ineq.equals("<")) {
if (eq.equals("=")) {
if (n <= m) {
return 1;
} else {
return 0;
}
} else if (eq.equals("!")) {
if (n < m) {
return 1;
} else {
return 0;
}
}
}
return 0;
}
}
}
프로그래머스 (리스트 자르기)
import java.util.ArrayList;
import java.util.List;
public class problem406 {
class Solution {
public int[] solution(int n, int[] slicer, int[] num_list) {
List<Integer> list = new ArrayList<>();
int start = slicer[0]; // 시작 인덱스
int end = slicer[1]; // 마지막 인덱스
int until = slicer[2]; // 간격
if (n == 1) {
for (int i = 0; i <= end; i++) {
list.add(num_list[i]);
}
} else if (n == 2) {
for (int i = start; i < num_list.length; i++) {
list.add(num_list[i]);
}
} else if (n == 3) {
for (int i = start; i <= end; i++) {
list.add(num_list[i]);
}
} else if (n == 4) {
for (int i = start; i <= end; i += until) {
list.add(num_list[i]);
}
}
int[] answer = new int[list.size()];
for (int i = 0; i < answer.length; i++) {
answer[i] = list.get(i);
}
return answer;
}
}
}
프로그래머스 (qr code)
public class problem407 {
class Solution {
public String solution(int q, int r, String code) {
StringBuilder sb = new StringBuilder();
String[] codeSplit = code.split("");
for (int i = 0; i < codeSplit.length; i++) {
// codeSplit 배열에서 q로 나눈 인덱스값이 r이랑 같은지 확인
if (i % q == r) {
sb.append(codeSplit[i]);
}
}
return sb.toString();
}
}
}
프로그래머스 (커피 심부름)
public class problem408 {
class Solution {
public int solution(String[] order) {
int answer = 0;
// 차가운음료랑, 뜨거운음료 가격이 동일하다.
for (int i = 0; i < order.length; i++) {
// 아메리카노인경우
if (order[i].contains("americano")) {
answer += 4500;
}
// 카페라테인경우
else if (order[i].contains("cafelatte")) {
answer += 5000;
}
// 그외 (anything)
else {
answer += 4500;
}
}
return answer;
}
}
}
프로그래머스 (배열 만들기 4)
import java.util.ArrayList;
import java.util.List;
public class problem409 {
class Solution {
public int[] solution(int[] arr) {
List<Integer> stk = new ArrayList<>();
int index = 0;
while (index < arr.length) {
if (stk.isEmpty()) {
stk.add(arr[index]);
index++;
}
// stk 리스트의 마지막 원소가 arr[i] 보다 작을경우
else if (stk.get(stk.size() - 1) < arr[index]) {
stk.add(arr[index]);
index++;
}
// stk 리스트의 마지막 원소를 제거합니다.
else {
stk.remove(stk.size() - 1);
}
}
int[] answer = new int[stk.size()];
for (int i = 0; i < answer.length; i++) {
answer[i] = stk.get(i);
}
return answer;
}
}
}
프로그래머스 (문자열 겹쳐쓰기)
public class problem410 {
class Solution {
public String solution(String my_string,
String overwrite_string, int s) {
char[] myChar = my_string.toCharArray();
int overLength = overwrite_string.length();
for (int i = 0; i < overLength; i++) {
// myChar 문자 배열에
// overwrite_string 문자열의 문자를 저장한다.
myChar[i + s] = overwrite_string.charAt(i);
}
// return String.valueOf(myChar) : 오브젝트 타입이나 객체를 String으로 모두 변환
// return new String(myChar) : 문자배열을 문자열로 변환, 간결하고 "명확"
return new String(myChar);
}
}
}