티스토리 뷰
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
private static int[][] alpha;
private static final String P = "Possible";
private static final String I = "Impossible";
private static final String NEW_LINE = "\n";
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
while(N-- > 0) {
alpha = new int[2][26];
StringTokenizer st = new StringTokenizer(br.readLine());
for(char c: st.nextToken().toCharArray()) {
alpha[0][c - 'a']++;
}
for(char c: st.nextToken().toCharArray()) {
alpha[1][c - 'a']++;
}
sb.append(isSame(alpha[0], alpha[1]) ? P : I).append(NEW_LINE);
}
System.out.println(sb);
}
private static boolean isSame(int[] arr1, int[] arr2) {
for(int i = 0; i < arr1.length; i++) {
if(arr1[i] != arr2[i]) return false;
}
return true;
}
}
- 못 풀겠어서 다른 풀이 참조
- 1. 문제이해 자체를 잘못함. A가 B를 포함해야 된다고 생각한거 자체가 잘못됨
- 2. 결국에 알파벳에서 같은지 카운팅 하는것
- 3. 다른 자바 풀이를 보니까 Scanner말고 BufferedReader를 사용함
-> 알고리즘 효율성 검사에 유리함, 예외처리가 필수임, StringTokenizer 사용
- 4. A, B에서 알파벳 카운팅함, -'a'를 해서 0~25까지 숫자로 카운팅
- 5. A,B 배열 비교후 != false. 답일려면 A,B 배열에 있는 알파벳 카운팅이 같아야함
https://www.acmicpc.net/problem/11328
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ㅇㄷㅇㅈ
- REST API
- 이펙티브자바
- HTTP 완벽가이드
- 킹수빈닷컴
- 백기선 스터디
- 김영한 JPA
- 이펙티브자바 스터디
- 김영한 http
- 이펙티브자바 아이템59
- 프로그래머스
- JS 딥다이브
- GCP
- BOJ
- js promise
- 모던자바스크립트
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- Spring Security
- 프로그래머스 SQL
- 드림코딩
- js array
- 백준
- js api
- java
- 패스트캠퍼스 컴퓨터공학 완주반
- HTTP 완벽 가이드
- JPA 연관관계 매핑
- dreamcoding
- 이펙티브자바 아이템60
- http
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함