
방법1
✏️ 문자열 검색 문제 해결 과정
"none"이라고 출력.Scanner를 사용하여 5개의 단어를 입력받음..trim() 사용.for 문을 사용하여 입력된 단어 목록을 순회하며 검색어가 포함된 단어를 찾음.if 문을 활용하여 두 개 중 하나라도 포함된 경우 출력."none"을 출력해야 함.boolean found 변수를 사용하여 검색된 단어가 있는지 체크.import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] words = new String[5];
for (int i = 0; i < 5; i++) {
words[i] = sc.nextLine().trim();
}
String[] searchWords = { sc.nextLine().trim(), sc.nextLine().trim() };
boolean found = false;
for (String word : words) {
for (String search : searchWords) {
if (word.contains(search)) {
System.out.println(word);
found = true;
break;
}
}
}
if (!found) {
System.out.println("none");
}
sc.close();
}
}
✔ contains() 메서드 사용 → 문자열이 포함되는지 간단하게 확인 가능
✔ 불필요한 공백 제거 (trim()) → 입력 시 실수 방지
✔ 검색어가 없을 경우 "none" 출력 → boolean found 변수 활용
✔ 검색어 개수가 확장될 경우에도 쉽게 대응 가능 → 배열을 사용하여 확장성을 높임
✔ 불필요한 반복 최소화 (break 추가) → 단어가 검색어 중 하나라도 포함되면 즉시 루프 종료
방법2
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] words = new String[5]; // 5개의 단어 입력
for (int i = 0; i < 5; i++) {
words[i] = sc.nextLine().trim(); // 공백 제거 후 저장
}
String search1 = sc.nextLine().trim(); // 첫 번째 검색어 입력
String search2 = sc.nextLine().trim(); // 두 번째 검색어 입력
boolean found = false;
for (String word : words) {
// 두 개의 검색어 중 하나라도 포함하면 출력
if (word.contains(search1) || word.contains(search2)) {
System.out.println(word);
found = true;
}
}
if (!found) {
System.out.println("none"); // 검색된 단어가 없을 경우 "none" 출력
}
sc.close();
}
}
📝 문제 설명
5개의 단어(각 단어는 100자 이하)를 입력받음.
이후 문자 또는 문자열(100자 이하)을 입력받음. (문자 하나일 수도 있고 문자열일 수도 있음)
입력받은 문자가 포함된 단어를 모두 출력.
찾는 단어가 없으면 "none"을 출력.
문제 해결 과정
1️⃣ 입력 처리
Scanner를 사용하여 5개의 단어를 입력받음.
이후 검색할 문자열 2개(search1, search2)를 추가로 입력받음.
모든 입력값에서 불필요한 공백을 제거하기 위해 .trim() 사용.
2️⃣ 검색 기능 구현
for 문을 사용하여 입력된 단어 배열을 순회하며 검색어(search1, search2)가 포함된 단어를 찾음.
if (word.contains(search1) || word.contains(search2))를 사용하여 둘 중 하나라도 포함된 경우 출력.
3️⃣ 출력 예외 처리
검색된 단어가 하나도 없으면 "none"을 출력해야 함.
boolean found 변수를 사용하여 검색된 단어가 있는지 체크.