[백준/JAVA] 2607번: 비슷한 단어
🔺 문제
2607번: 비슷한 단어
첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져 있다. 단어의 개수는 100개 이하이며, 각 단어의 길이는 10 이
www.acmicpc.net
🔺 코드
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine()) - 1; // 반복문 N-1번 수행하게 -1해야 함!
String standard = br.readLine();
int sLen = standard.length();
int[] alphabet = new int[26];
for(int i = 0 ; i < sLen ; i++) {
alphabet[standard.charAt(i) - 'A']++;
}
int ans = 0;
while(N --> 0) { // N-1번만큼 수행
int[] tmp = alphabet.clone(); // 📍 배열 복사 !
String word = br.readLine();
int wLen = word.length();
int cnt = 0; // 🔔 입력된 단어의 알파벳 갯수 🔔
for(int i = 0 ; i < wLen ; i++) {
if(tmp[word.charAt(i) - 'A'] > 0) {
cnt++;
tmp[word.charAt(i) - 'A']--;
}
}
// 길이가 한 글자 작을 때
if(sLen - 1 == wLen && cnt == wLen) {
ans++;
}
// 길이가 같을 때
else if(sLen == wLen) {
if(cnt == sLen || cnt == sLen - 1)
ans++;
}
// 길이가 한 글자 클 때
else if(sLen + 1 == wLen) {
if(cnt == sLen)
ans++;
}
}
System.out.println(ans);
}
}
|
cs |
✅ 해결 아이디어
✔ 구현, 문자열
- 비슷한 단어
= 한 문자열을 골라서 문자 하나를 추가하거나 / 빼거나 / 바꾸거나 했을 때 두 단어가 같으면 비슷한 문자 || 아예 단어 구성이 같은 문자
🔺 다른 풀이들
- 내가 Map써서 풀려고 생각했던 방식을 구현하셨다!!
[백준] 2607 - 비슷한 단어
문제 링크: https://www.acmicpc.net/problem/2607 그렇게 어렵진 않으나, 사소한 부분을 간과하여 틀...
blog.naver.com
[JAVA] BOJ(백준) - 비슷한 단어 - 2607
문제내용 https://www.acmicpc.net/problem/2607 2607번: 비슷한 단어 첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져 있
record-developer.tistory.com
💬 느낀 점
촤하하 쉽지 않구만..
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V | 240301 |
(참고)
백준 2607 비슷한 단어 Java
한국정보올림피아드 초등부 4번, 중등부 2번 문제인 비슷한 단어이다. 내 힘으로 풀긴 풀었지만 꽤 어려웠던 문제 같은데 이런 문제를 풀어내는 초등학생, 중학생이 있다니 더욱더 분발해야겠다
dundung.tistory.com
(좋은 설명...)
백준 2607 비슷한 단어(Java)
문제 출처 : https://www.acmicpc.net/problem/2607 2607번: 비슷한 단어 첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져
jyunslog.tistory.com