728x90
반응형
SMALL

문제 설명

정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array 원소 ≤ 1,000
  • array에 중복된 숫자는 없습니다.

입출력 예

array result

[1, 8, 3] [8, 1]
[9, 10, 11, 8] [11, 2]

입출력 예 설명

입출력 예 #1

  • 1, 8, 3 중 가장 큰 수는 8이고 인덱스 1에 있습니다.

입출력 예 #2

  • 9, 10, 11, 8 중 가장 큰 수는 11이고 인덱스 2에 있습니다.
package Lv0;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class H120850 {
    public static int[] solution(String my_string) {
        List<Integer> list = new ArrayList<>();

        for (char i :my_string.toCharArray()) {
            if (i >= 48 && i <= 57) {
                list.add(Integer.parseInt(String.valueOf(i)));
            }
        }
        return
        list.stream().mapToInt(Integer::intValue).sorted().toArray();
    }
    public static void main(String[] args){
        String my_string = "hi12392";
        System.out.println(solution(my_string));
    }
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

OX퀴즈  (0) 2023.02.23
문자열 계산하기  (0) 2023.02.22
한 번만 등장한 문자  (1) 2023.02.20
인덱스 바꾸기  (0) 2023.02.19
세균 증식  (0) 2023.02.18
728x90
반응형
SMALL

문제 설명

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.


제한사항

  • 0 < s의 길이 < 1,000
  • s는 소문자로만 이루어져 있습니다.

입출력 예

s result

"abcabcadc" "d"
"abdc" "abcd"
"hello" "eho"

입출력 예 설명

입출력 예 #1

  • "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.

입출력 예 #2

  • "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.

입출력 예 #3

  • "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.
package Lv0;

public class H120896 {
    public static String solution(String s) {
        String answer = "";
        int[] arr = new int[26];
        for (int i = 0; i < 26; i++) {
            arr[i] = 0;
        }
        for (int i = 0; i < s.length(); i++) {
            arr[s.charAt(i) - 97] += 1;
        }
        for (int i = 0; i < 26; i++) {
            if (arr[i] == 1) {
                answer += (char)(i + 97);
            }
        }
        return answer;
    }
    public static void main(String[] args){
        String s = "abcabcadc";
        System.out.println(solution(s));
    }
}

3중 for문… 현재로서는 생각나지 않아 일단 이렇게 풀었는데 다음엔 다른방식을 써보기!!

문자를 정수로 변경해준 후 아스키 코드로 나중에 변경해줄 걸 생각하고 먼저 알파벳이 26개 있기 때문에 먼저 97을 빼서 1부터 인식할 수 있게 한 후 다시 더해주는 식으로 문제를 해결!

728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

문자열 계산하기  (0) 2023.02.22
가장 큰 수 찾기  (0) 2023.02.21
인덱스 바꾸기  (0) 2023.02.19
세균 증식  (0) 2023.02.18
영어가 싫어요  (0) 2023.02.17
728x90
반응형
SMALL

문제 설명

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 1 < my_string의 길이 < 100
  • 0 ≤ num1, num2 < my_string의 길이
  • my_string은 소문자로 이루어져 있습니다.
  • num1 ≠ num2

입출력 예

my_string num1 num2 result

"hello" 1 2 "hlelo"
"I love you" 3 6 "I l veoyou"

입출력 예 설명

입출력 예 #1

  • "hello"의 1번째 인덱스인 "e"와 2번째 인덱스인 "l"을 바꾸면 "hlelo"입니다.

입출력 예 #2

  • "I love you"의 3번째 인덱스 "o"와 " "(공백)을 바꾸면 "I l veoyou"입니다.
package Lv0;

public class H120895 {
    public static String solution(String my_string, int num1, int num2) {
        String[] arr = my_string.split("");

        String temp = arr[num1];
        arr[num1] = arr[num2];
        arr[num2] = temp;

        return String.join("", arr);
    }
    public static void main(String[] args){
        String my_string = "hello";
        int num1 = 1;
        int num2 = 2;
        System.out.println(solution(my_string, num1, num2));
    }
}

 

값을 서로 바꿀때 자주 사용하는 temp!

728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

가장 큰 수 찾기  (0) 2023.02.21
한 번만 등장한 문자  (1) 2023.02.20
세균 증식  (0) 2023.02.18
영어가 싫어요  (0) 2023.02.17
대문자와 소문자  (0) 2023.02.16

+ Recent posts