📌Back-End/프로그래머스

Java 프로그래머스 코딩 기초 트레이닝 Day 18 문자열

구 일 2024. 6. 14. 22:12
728x90
반응형

 

x 사이의 개수

프로그래머스 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

프로그래머스 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
반응형