-
[백준] 11328 Strfry #JAVAAlgorithm Solving/BAEKJOON 2021. 1. 15. 14:36
BAEKJOON [11328] Strfry
코드
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // System.out.println((int)'a'); // a 는 97 // System.out.println((int)'z'); // z 는 122 int n = Integer.parseInt(br.readLine()); for (int i = 0; i < n; i++) { String[] input = br.readLine().split(" "); String first = input[0]; String second = input[1]; int[] alphabet = new int[26]; boolean isPossible = true; // 1. 배열에 알파벳 개수 세어 넣는다. for (int j = 0; j < first.length(); j++) { alphabet[(int)first.charAt(j)-97] +=1; // 증가하고 } for (int j = 0; j < second.length(); j++) { alphabet[(int)second.charAt(j)-97] -=1; // 감소한다. } // 2. 배열 값 체크한다. for (int item : alphabet) { if(item != 0) { // 배열에 0이 아니면 갯수가 맞지 않음으로 Impossible isPossible = false; break; } } // 3. 결과 누적 bw.append(isPossible ? "Possible" : "Impossible"); bw.newLine(); } bw.flush(); } }
풀이
- 배열
- 간단한 문제지만 런타임 에러 (StringIndexOutOfBounds)에 걸렸다. 이유는 첫 단어와 두 번째 단어가 같은 길이일 것이라고 생각했기 때문이였다.
잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)
'Algorithm Solving > BAEKJOON' 카테고리의 다른 글
[백준] 3273 두 수의 합 #JAVA (0) 2021.01.16 [백준] 1919 애너그램 만들기 #JAVA (0) 2021.01.15 [백준] 1182 부분수열의 합 #JAVA (0) 2021.01.15 [백준] 9663 N-Queen #JAVA (0) 2021.01.14 [백준] 15649 N과 M (1) #JAVA (0) 2021.01.10