inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 문자열 정렬하기 (1)

    silver's avatar
    silver
    Dec 25, 2024
    [알고리즘문제풀기] 문자열 정렬하기 (1)
    Contents
    문제내가 작성한 정답다른 사람들이 작성한 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120850

    내가 작성한 정답

    import java.util.ArrayList; import java.util.Collections; import java.util.List; class Solution { public int[] solution(String my_string) { List<Integer> a = new ArrayList<>(); for (char c : my_string.toCharArray()) { if (Character.isDigit(c)) { a.add(Character.getNumericValue(c)); } } Collections.sort(a); int[] answer = new int[a.size()]; for (int i = 0; i < a.size(); i++) { answer[i] = a.get(i); } return answer; } }

    다른 사람들이 작성한 정답

    streamAPI

    import java.util.*; class Solution { public int[] solution(String myString) { return Arrays.stream(myString.replaceAll("[A-Z|a-z]", "").split("")) .sorted() .mapToInt(Integer::parseInt) .toArray(); } }

    아스키코드

    import java.util.*; class Solution { public int[] solution(String my_string) { my_string = my_string.replaceAll("[a-z]",""); int[] answer = new int[my_string.length()]; for(int i =0; i<my_string.length(); i++){ // 문자가 숫자일 경우, ASCII 코드에서 '0'의 값을 빼면 해당 숫자의 정수 값이 된다. // 숨어있는 숫자의 덧셈 (1)문제 참고 answer[i] = my_string.charAt(i) - '0'; } Arrays.sort(answer); return answer; } }
     
    💡

    ASCII와 유니코드

    1. ASCII ASCII(American Standard Code for Information Interchange)는 7비트 문자 인코딩으로, 총 128개의 문자(영문 대소문자, 숫자, 특수 문자 등)를 포함한다. 예를 들어, 숫자 '0'의 ASCII 값은 48, 'A'는 65, 'a'는 97이다.
    1. 유니코드 유니코드는 ASCII의 확장을 포함하여 전 세계의 다양한 문자를 표현할 수 있도록 설계된 문자 인코딩 시스템이다. Java에서 char는 유니코드를 기반으로 하며, 0에서 65535 사이의 값을 가질 수 있다. 이는 ASCII 문자 집합의 모든 문자를 포함한다.
    1. char와 ASCII 코드 Java에서 char 타입의 변수를 정수로 취급할 수 있다.
    public class CharExample { public static void main(String[] args) { char c = 'A'; // 'A'는 ASCII 값 65 int asciiValue = c; // char를 int로 자동 변환 System.out.println("ASCII value of " + c + " is: " + asciiValue); char digit = '5'; // '5'는 ASCII 값 53 int numericValue = digit - '0'; // '5'에서 '0'을 빼면 5가 됨 System.out.println("Numeric value of " + digit + " is: " + numericValue); } }
    char는 문자 자체를 나타내는 데이터 타입이지만, 내부적으로는 해당 문자의 ASCII 또는 유니코드 값으로 표현된다.
    Share article

    silver

    RSS·Powered by Inblog