문제 설명
PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요.
풀이 해석 및 해결 방법 수립
1. spell 의 단어들을
이중 for문으로
하나씩 contains 하고 있는지 확인하고
다 돌면 완료
2. 풀다가 contains 부분에서 에러가 났다.
배열엔 그런 메소드가 없다고 해서 어레이 리스트로 바꿀까 하다가
그걸로 안하고도 저번에 비슷한 문제를 풀 수 있었던 것이 생각이 나서
좀더 검색해보고
String에 내가 진짜 원하던 건 replace였다는 걸을 알게 되었다.
String으로 바꾸고 배열에서 바로 될 것 같기도 한데 암튼
String 클래스의 replace 메소드를 쓰니
바로 동작이 되었다
class Solution {
public int solution(String[] spell, String[] dic) {
int answer = 0;
for(int i = 0; i < dic.length ; i++){
for(int j = 0; j < spell.length; j++){
String str = dic[i];
if(str.contains(spell[j])){
dic[i] = str.replace(spell[j], " ");
}else{
dic[i] = "2";
}
}
for(int j = 0; j < spell.length; j++){
String str = dic[i];
dic[i] = str.replaceAll(" ", "");
}
if(dic[i].equals("")){ answer = 1; break;}
else{answer = 2;}
}
return answer;
}
}
'[코딩테스트]' 카테고리의 다른 글
| [프로그래머스] 약수의 합 - java (0) | 2024.04.06 |
|---|---|
| [프로그래머스] 옹알이(1) -자바 (0) | 2024.04.06 |
| [프로그래머스] 같은 숫자는 싫어 - 자바 (0) | 2024.04.06 |
| [프로그래머스] 합성수 찾기 - 자바 (1) | 2024.04.05 |
| [프로그래머스] 옹알이(2) - Java (0) | 2024.04.04 |