코테/코드트리
[코드트리/NOVICE MID] 순서를 바꾸었을 때 같은 단어인지 판별하기 (JAVA)
imname1am
2023. 10. 24. 01:22
반응형
🔺 문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
🔺 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import java.util.*;
import java.io.*;
public class Main {
static char[] ch1, ch2;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
ch1 = str1.toCharArray();
ch2 = str2.toCharArray();
Arrays.sort(ch1);
Arrays.sort(ch2);
System.out.println(canMake(ch1, ch2) ? "Yes" : "No");
}
private static boolean canMake(char[] c1, char[] c2) {
if(c1.length != c2.length) return false; // 두 문자열 길이가 다른 경우, 만들 수 X.
for(int i = 0 ; i < c1.length ; i++) {
if(c1[i] != c2[i])
return false;
}
return true;
}
}
|
cs |
🧩 해결 아이디어
• 정렬
1. 각 문자열을 char형 배열로 변환하고, 정렬한다.
2. 두 char형 배열의 같은 인덱스끼리의 값을 비교하며 만들 수 있는지 확인한다.
🔺 다른 풀이들
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.next();
char[] chars1 = str1.toCharArray();
Arrays.sort(chars1);
String sortedStr1 = new String(chars1);
char[] chars2 = str2.toCharArray();
Arrays.sort(chars2);
String sortedStr2 = new String(chars2);
if(sortedStr1.equals(sortedStr2))
System.out.print("Yes");
else
System.out.print("No");
}
}
- 입력받은 두 단어를 char형으로 변환하고, 정렬한다.
- 정렬한 char형 배열의 값을 String형으로 변환한다.
- 두 문자열이 같은지 다른지 확인한다.
💬 느낀 점
자신감 끌어올려~~
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
반응형