https://www.acmicpc.net/problem/29731
풀이
배열에 특정 값이 있는지 확인하는 방법
- equals() 메서드 사용 : true/false 반환
Solution
sol.1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt(); // 정수 n 입력 받아서 저장
String[] pledge = {"Never gonna give you up", "Never gonna let you down",
"Never gonna run around and desert you", "Never gonna make you cry",
"Never gonna say goodbye", "Never gonna tell a lie and hurt you", "Never gonna stop"};
String[] translation = new String[num + 1]; //입력받은 정수만큼 배열을 생성
for (int i = 0; i < translation.length; i++) {
translation[i] = sc.nextLine(); //공약 입력받기
}
String result = "Yes";
for (int i = 1; i < translation.length; i++) { //앞에 공백 때문에 i = 1 부터 시작
result = "Yes";
for (int j = 0; j < pledge.length; j++) {
if(translation[i].equals(pledge[j]) == true) {
result = "No";
break;
}
}
if (result.equals("Yes")) {
break;
}
}
System.out.println(result);
sc.close();
}
}
sol.2
import java.util.Scanner;
public class _29731_feed {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] pledge = {"Never gonna give you up", "Never gonna let you down",
"Never gonna run around and desert you", "Never gonna make you cry",
"Never gonna say goodbye", "Never gonna tell a lie and hurt you", "Never gonna stop"};
int num = sc.nextInt(); //정수 n 입력 받기
String[] s = new String[num + 1]; //검사할 공약을 담을 그릇
//검사할 공약을 num만큼 입력 받기
for (int i = 0; i < num + 1; i++) { //nextLine 개행 문자 때문에 +1
s[i] = sc.nextLine();
}
int check = 0;
for (int i = 1; i < s.length; i++) { //맨 앞은 공백이므로 1부터 시작
check = 0; //초기화
for (int j = 0; j < pledge.length; j++) {
if (s[i].equals(pledge[j])) { //검사할 것과 공약이 같으면
check = 1; //1로 표시
break; //현재 반복문을 빠져 나오고 다음 문장 확인
}
}
if (check == 0) { //check가 0이면 공약이 바뀐 것이므로 다음 문장을 볼 필요가 없다.
break; //따라서 반복문을 중단시킴
}
}
//바뀐 공약이 없므면 check가 1, 있으면 0
if (check == 1) {
System.out.println("No");
} else {
System.out.println("Yes");
}
sc.close();
}
}
'BOJ 코딩테스트 > Bronze' 카테고리의 다른 글
BOJ 2845 : 파티가 끝나고 난 뒤 (Java/구현/Bronze 4) (1) | 2024.09.30 |
---|---|
BOJ 2083 : 럭비 클럽 (Java/구현/Bronze 4) (0) | 2024.09.29 |
BOJ 10886번 : 0 = not cute / 1 = cute (Java/구현/Bronze 3) (0) | 2024.03.27 |
BOJ 2441번 : 별 찍기 - 4 (Java/구현/Bronze 4) (0) | 2024.03.26 |
BOJ 10953번 : A+B - 6 (Python, Java/구현/Bronze 3) (0) | 2024.03.24 |