fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 33556 (C++) Java String Equals
최초 업로드: 2025-10-10 12:46:59
최근 수정 시간: 2025-10-10 12:46:59
게시자: rlatjwls3333
카테고리: 백준
조회수: 8
# [Bronze I] Java String Equals [문제 링크](https://www.acmicpc.net/problem/33556) ## 문제 설명 <p>Java에서 두 문자열을 비교하는 경우 대소문자를 구분해서 비교하는 <code>equals()</code>와 대소문자를 구분하지 않고 비교하는 <code>equalsIgnoreCase()</code>를 사용한다. <code>"a".equals("a")</code>의 경우 <code>true</code>, <code>"a".equals("A")</code>의 경우 <code>false</code>를 반환하지만, <code>"a".equalsIgnoreCase("A")</code>의 경우 <code>true</code>를 반환한다.</p> <p>한편, Java에서는 값이 존재하지 않는 상황을 나타내기 위해 객체 <code>null</code>을 사용한다. $A$를 기준 문자열, $B$를 비교 문자열이라고 할 때, <code>A.equals(B)</code>와 <code>A.equalsIgnoreCase(B)</code>에서 $A$가 객체 <code>null</code>인 경우에는 <strong>NullPointerException이 발생한다.</strong> 그러나 $A$가 객체 <code>null</code>이 아니고, $B$가 객체 <code>null</code>인 경우에는 NullPointerException이 발생하지 않는다.</p> <p>두 문자열 $A$와 $B$가 주어졌을 때, <code>A.equals(B)</code>와 <code>A.equalsIgnoreCase(B)</code>의 결과를 출력해 보자. 단, 주어진 문자열이 "<code><span style="color:#e74c3c;">null</span></code>"인 경우 <strong>객체 null이 주어진 것으로 인식한다.</strong></p> ## 입력 <p>첫 번째 줄에 기준 문자열 $A$가 주어진다.</p> <p>두 번째 줄에 비교 문자열 $B$가 주어진다.</p> <p>두 문자열은 대소문자 알파벳과 숫자로 구성되어 있으며, $1 \leq |A|, |B| \leq 100$을 만족한다.</p> ## 출력 <p>첫 번째 줄에 <code>A.equals(B)</code>의 결과를 출력한다. NullPointerException이 발생한다면 <span style="color:#e74c3c;"><code>NullPointerException</code></span>을 출력하고, 반환값이 true인 경우 <span style="color:#e74c3c;"><code>true</code></span>, 반환값이 false인 경우 <span style="color:#e74c3c;"><code>false</code></span>를 출력한다.</p> <p>두 번째 줄에 <code>A.equalsIgnoreCase(B)</code>의 결과를 같은 방식으로 출력한다.</p> ## 풀이 지문대로 구현하면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; bool equalIgnoreCase(string a, string b) { if(a.length()!=b.length() || b=="null") return false; for(int i=0;i<a.length();i++) { if(a[i]!=b[i] && a[i]-32!=b[i] && a[i]!=b[i]-32) return false; } return true; } int main() { ios::sync_with_stdio(0); cin.tie(0); string a, b; cin >> a >> b; if(a=="null") cout << "NullPointerException\nNullPointerException"; else cout << (a==b ? "true\n" : "false\n") << (equalIgnoreCase(a, b) ? "true" : "false"); } ```