김찬진의 개발 블로그
23/01/16 [Inf_0102 대소문자 변환] 본문
설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.
입력
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
예시 입력 1
StuDY
예시 출력 1
sTUdy
코드
기억할 것
String toCharArray()
Character isLowerCase(), isUpperCase()
package algorithm;
import java.util.Scanner;
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 sc = new Scanner(System.in);
String str = sc.next();
System.out.print(T.solution(str));
}
}
코드: ASCII 사용
기억할 것
A~Z(65~90, 총 26개), a~z(97~122, 총 26개), A부터 a까지의 거리 32
package algorithm;
import java.util.Scanner;
public class Inf_0102_ASCII {
public String solution(String str){
String answer = "";
for(char x : str.toCharArray()){
if(x>=65 && x<=90){ // A ~ Z, 총 26개
answer += (char)(x+32); // 대문자를 소문자로 변환
} else if(x>=97 && x<=122){ // a ~ z, 총 26개
answer += (char)(x-32); // 소문자를 대문자로 변환
}
}
return answer;
}
public static void main(String[] args) {
Inf_0102_ASCII m = new Inf_0102_ASCII();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.print(m.solution(str));
}
}
'1일1알고 > Java Algorithm' 카테고리의 다른 글
23/01/31 [⭐Inf_0106 중복문자제거] (0) | 2023.01.31 |
---|---|
23/01/31 [Inf_0105 특정 문자 뒤집기] (0) | 2023.01.31 |
23/01/19 [Inf_0104 단어 뒤집기] (0) | 2023.01.19 |
23/01/19 [Inf_0103 문장 속 단어] (0) | 2023.01.19 |
22/12/22 [Inf_0101 문자찾기] (0) | 2022.12.23 |
Comments