728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120869
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 82.2 MB, 시간: 0.08 ms
사용 알고리즘: 구현
import java.util.*;
class Solution {
public int solution(String[] spell, String[] dic) {
// spell에 사용된 문자 개수 세기
int[] count = new int['z' - 'a' + 1];
for(int i = 0; i < spell.length; i++)
count[spell[i].charAt(0) - 'a']++;
int[] tmp = new int['z' - 'a' + 1];
boolean flag;
for(int i = 0; i < dic.length; i++) {
// 단어 길이가 맞지 않으면 다음 단어 확인하러
if(dic[i].length() != spell.length) continue;
// dic[i]에 사용된 문자 개수 세기
Arrays.fill(tmp, 0);
for(int j = 0; j < spell.length; j++)
tmp[dic[i].charAt(j) - 'a']++;
// spell과 동일한 조합인지 확인
flag = true;
for(int j = 0; j < count.length; j++) {
if(count[j] != tmp[j]) {
flag = false;
break;
}
}
// 동일한 조합이라면 리턴
if(flag) return 1;
}
return 2;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 42839] 소수 찾기 (java) (0) | 2025.02.18 |
---|---|
[프로그래머스, 84512] 모음 사전 (java) (0) | 2025.02.17 |
[프로그래머스, 120896] 한 번만 등장한 문자 (java) (0) | 2025.02.17 |
[프로그래머스, 43238] 입국심사 (java) (0) | 2025.02.16 |
[프로그래머스, 42746] 가장 큰 수 (java) (0) | 2025.02.16 |