[백준] 실버5 1427번 소트인사이드 - Java
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
코드
맞았습니다가 뜬 코드입니다. - 메모리 17616KB | 시간 204ms | 메모리 444B
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
char[] ch = s.toCharArray();
char tmp;
for(int i=0 ; i<ch.length ; i++) {
for(int j=i; j<ch.length ; j++) {
if(ch[i] < ch[j]) {
tmp = ch[i];
ch[i] = ch[j];
ch[j] = tmp;
}
}
}
for(int i=0;i<ch.length;i++) {
System.out.print(ch[i]);
}
}
}
- 문자열 s에 입력을 받고, toCharArray()함수를 이용해 문자배열로 만듭니다.
- 버블 정렬을 이용해 문자배열을 정렬합니다. (ASCII 코드를 이용한 정렬이라 int형으로 바꾸지 않음)
Search 🔍
- toCharArray() 함수 : 문자열을 문자배열 형태로 바꿈
- String 선언의 차이 : https://kang-james.tistory.com/entry/JAVA-%ED%8C%8C%ED%97%A4%EC%B9%98%EA%B8%B0-%EB%AC%B8%EC%9E%90-%ED%83%80%EC%9E%85-char-%EC%99%80-%EB%AC%B8%EC%9E%90%EC%97%B4-String-%EC%9D%98-%EC%A7%84%EC%8B%A4
public class test {
public static void main(String[] args) {
String a = "hello";
String b = "hello";
String c = new String("hello");
System.out.println(a); //hello
System.out.println(b); //hello
System.out.println(c); //hello
System.out.println();
System.out.println(System.identityHashCode(a)); //1234
System.out.println(System.identityHashCode(b)); //1234
System.out.println(System.identityHashCode(c)); //2223
}
}
a와 b 방식으로 한다면, 자바에서는 문자열 리터럴이 동일한 경우, 동일한 메모리 위치에 저장되고 같은 객체를 참조합니다. 이는 문자열 리터럴이 이미 메모리에 존재하는 경우, 새로운 객체를 생성하지 않고 기존의 객체를 재사용하여 메모리를 절약하는 문자열 리터럴 풀(string literal pool)의 동작 원리입니다.
c 방식으로 한다면, 이 선언은 새로운 String 객체를 생성하고, 해당 객체에 "hello"라는 문자열을 저장합니다. 새로운 객체가 항상 생성되며, 문자열이 동일하더라도 새로운 객체가 생성됩니다. - chatGPT 검색 결과
따라서 a와 b가 같은 객체, c는 다른 객체가 되어 주소값이 같고 다른 것을 확인 할 수 있습니다.
후기
올만에 푸니까 잼네요
버블정렬만 써서 이제 좀 다른 정렬을 써야하는데 이 문제로 다음에 다른 정렬방법으로 풀어봐야겠네요
'코딩테스트' 카테고리의 다른 글
[백준] 1240번 노드사이의 거리 - Java (2) | 2023.06.26 |
---|---|
[백준] 2693번 N번째 큰 수 - Java (0) | 2023.05.23 |
[백준] 7785번 회사에 있는 사람 - Python (1) | 2023.03.01 |
[백준] 5635번 생일 - Python (0) | 2023.02.28 |
[백준] 1010번 다리 놓기 - Python (2) | 2023.02.27 |