코딩테스트 풀이/JAVA
[LeetCode/Easy] 1790. Check if One String Swap Can Make Strings Equal
무지맘
2023. 4. 21. 10:18
1. Input
1) String s1
2) String s2
2. Output
1) s1에 있는 문자 2개의 위치를 최대 1번 바꿔서 s2와 같아진다면 true를, 아니면 false를 반환
3. Constraint
1) 1 <= s1.length, s2.length <= 100
2) s1.length == s2.length
3) s1과 s2는 영어 소문자로만 이루어져 있다.
4. Example
Input: s1 = "bank", s2 = "kanb" -> Output: true
Input: s1 = "attack", s2 = "defend" -> Output: false
Input: s1 = "kelb", s2 = "kelb" -> Output: true
5. Code
1) 첫 코드(2023/04/21)
ArrayList<Integer> index = new ArrayList<>();
for(int i=0 ; i<s1.length() ; i++)
if(s1.charAt(i)!=s2.charAt(i))
index.add(i);
boolean answer;
if(index.size()==0)
answer = true;
else if(index.size()!=2)
answer = false;
else
answer = s1.charAt(index.get(0))==s2.charAt(index.get(1))
&& s1.charAt(index.get(1))==s2.charAt(index.get(0));
return answer;