[Coding test] 0324_no.1 (java)
2020-03-24
Coding test / 0324_no.1
문제설명
유출 x
풀이
package T0324;
import java.util.*;
public class t1 {
static public int solution(String s, String pattern) {
int answer = 0;
int ch[] = new int[32];
for(int i=0; i<pattern.length(); i++)
ch[pattern.charAt(i)-'a']++; //0-a, 1-b, 2-c, 3-d
for(int i=0; i<=s.length()-pattern.length(); i++) {
String ss = s.substring(i, i+pattern.length());
System.out.println(ss);
int test[] = new int[32];
for(int j=0; j<ss.length(); j++) {
test[ss.charAt(j)-'a']++;
}
boolean ck = false;
for(int k=0; k<32; k++) {
if(ch[k] != test[k])
ck = true;
}
if(ck == false)
answer++;
}
return answer;
}
public static void main(String[] args) {
System.out.println(solution("aaaaaa", "a"));
}
}
후기 (1h -> 15min)
pattern의 len만큼 자르는 것 까지는 잘 했는데 왜… 그 뒤에 정신을 못차리고 pattern의 모든 순서를 다 따지느라 한시간을 잡아먹었다….
이 문제의 포인트는 순서는 중요하지않고 각 char에 해당하는 문자가 몇개인지만 기억해놓고 그것과 같으면 정답에 추가하는 방식인데… 깨달은 후에 문제는 어렵지 않게 풀었지만,
중요한건 문제를 시간안에! 당황하지 말고! 풀어야 한다는 것이다… 왜 이런 짓을 했는지는 의moon..