[Java] 대 소문자 변환
by Roel Downey728x90
반응형
설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.
입력
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
// 입력예시
StuDY
// 출력예시
sTUdy
답안코드
< 풀이 보기 전 나의 답안 풀이 >
public class Main {
public String solution(String str) {
char[] result = new char[str.length()];
int i = 0;
for( char x : str.toCharArray()) {
byte data = (byte) x;
if (data >= 65 && data <= 90) {
result[i++]+= Character.toLowerCase(x);
}
else {
result[i++]+= Character.toUpperCase(x);
}
}
return String.valueOf(result);
}
public static void main(String[] args){
Main t = new Main();
Scanner kb = new Scanner(System.in);
// String str = kb.next();
String str = "StuDY";
System.out.println(t.solution(str));
}
}
풀이
public class Main {
public String solution(String str) {
String answer = "";
for( char x : str.toCharArray()) {
if(Character.isLowerCase(x)) {
answer += Character.toUpperCase(x);
}
else {
answer += Character.toLowerCase(x);
}
}
return answer;
}
public static void main(String[] args){
Main t = new Main();
Scanner kb = new Scanner(System.in);
// String str = kb.next();
String str = "StuDY";
System.out.println(t.solution(str));
}
}
- 5번 라인 : if문으로 써도 되는 이유....
아스키 풀이
public class Main {
public String solution(String str) {
String answer = "";
for( char x : str.toCharArray()) {
if(x>= 97 && x <= 122) {
answer += (char)(x-32);
}
else {
answer += (char)(x+32);
}
}
return answer;
}
public static void main(String[] args){
Main t = new Main();
Scanner kb = new Scanner(System.in);
// String str = kb.next();
String str = "StuDY";
System.out.println(t.solution(str));
}
}
728x90
반응형
'알고리즘_자료구조 > 문제풀이' 카테고리의 다른 글
[Java] 백준 11724 연결된 요소의 개수 (0) | 2023.10.26 |
---|---|
[Java] 백준 2606 바이러스 (0) | 2023.10.26 |
[Java] 문자 찾기 (0) | 2022.03.14 |
[Java] 두 개 뽑아서 더하기 (0) | 2020.09.22 |
[Java] 크레인 인형뽑기 게임 (0) | 2020.09.22 |
블로그의 정보
What doing?
Roel Downey