📌Back-End/프로그래머스
Java 프로그래머스 코딩 기초 트레이닝 Day 18 문자열
구 일
2024. 6. 14. 22:12
728x90
반응형
x 사이의 개수
import java.util.LinkedList;
/**
* 코딩 기초 트레이닝 Day 18
* x 사이의 개수
*/
public class Main1 {
public static void main(String[] args) {
int[] result = solution("oxooxoxxox");
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution("xabcxdefxghi");
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(String myString) {
LinkedList<Integer> list = new LinkedList<>();
int cnt = 0;
for (int i = 0; i < myString.length(); i++) {
if (myString.charAt(i) != 'x') {
cnt++;
} else {
list.add(cnt);
cnt = 0;
}
}
list.add(cnt);
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
문자열 잘라서 정렬하기
import java.util.Comparator;
import java.util.LinkedList;
/**
* 코딩 기초 트레이닝 Day 18
* 문자열 잘라서 정렬하기
*/
public class Main2 {
public static void main(String[] args) {
String[] result = solution("axbxcxdx");
for (String s : result) {
System.out.print(s + " ");
}
System.out.println();
result = solution("dxccxbbbxaaaa");
for (String s : result) {
System.out.print(s + " ");
}
System.out.println();
}
public static String[] solution(String myString) {
LinkedList<String> list = new LinkedList<>();
for (String s : myString.split("x")) {
if (!s.isBlank()) {
list.add(s);
}
}
list.sort(Comparator.naturalOrder());
return list.stream().toArray(String[]::new);
}
}
간단한 식 계산하기
/**
* 코딩 기초 트레이닝 Day 18
* 간단한 식 계산하기
*/
public class Main3 {
public static void main(String[] args) {
System.out.println(solution("43 + 12"));
System.out.println(solution("0 - 7777"));
System.out.println(solution("40000 * 40000"));
}
public static int solution(String binomial) {
int answer = 0;
String[] strArr = binomial.split(" ");
int a = Integer.parseInt(strArr[0]);
String op = strArr[1];
int b = Integer.parseInt(strArr[2]);
if (op.equals("+")) {
answer = a + b;
} else if (op.equals("-")) {
answer = a - b;
} else if (op.equals("*")) {
answer = a * b;
}
return answer;
}
}
문자열 바꿔서 찾기
/**
* 코딩 기초 트레이닝 Day 18
* 문자열 바꿔서 찾기
*/
public class Main4 {
public static void main(String[] args) {
System.out.println(solution("ABBAA", "AABB"));
System.out.println(solution("ABAB", "ABAB"));
}
public static int solution(String myString, String pat) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < myString.length(); i++) {
if (myString.charAt(i) == 'A') {
sb.append("B");
} else {
sb.append("A");
}
}
return sb.toString().contains(pat) ? 1 : 0;
}
}
rny_string
/**
* 코딩 기초 트레이닝 Day 18
* rny_string
*/
public class Main5 {
public static void main(String[] args) {
System.out.println(solution("masterpiece"));
System.out.println(solution("programmers"));
System.out.println(solution("jerry"));
System.out.println(solution("burn"));
}
public static String solution(String rny_string) {
return rny_string.replace("m", "rn");
}
}
728x90
반응형