Level. 0
문제
영어 알파벳으로 이루어진 문자열 str이 주어집니다.
각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.
* 제한사항
- 1 ≤ str의 길이 ≤ 20
- str은 알파벳으로 이루어진 문자열입니다.
풀이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
for(int i=0; i<a.length(); i++){
if(a.charAt(i) < 'a') answer += (char)(a.charAt(i) + 32);
else answer += (char)(a.charAt(i) - 32) ;
}
System.out.print(answer);
}
}
아스키코드를 활용하여 해결하였다.
알파벳 아스키코드(ASCII)
- A~Z : 65 ~ 90
- a ~ z : 97 ~ 122
다른 풀이
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
for(Character c : a.toCharArray()){
if(Character.isUpperCase(c)){
answer += Character.toLowerCase(c);
}
else if(Character.isLowerCase(c)){
answer += Character.toUpperCase(c);
}
}
System.out.println(answer);
}
}
Character.isUpperCase(), Character.isLowerCase()
- 인자로 받은 문자가 대문자인지, 소문자인지를 판단하여 false true의 값을 리턴한다.
Character.isDigit()
- 인자로 받은 문자가 숫자인지 판단하여 false, true의 값을 리턴한다.
Character.isUpperCase(), Character.isLowerCase()
- 인자로 받은 문자를 각각 대소문자로 변환하여 리턴한다.
str.toUpperCase(), str.toLowerCase()
- 각각 대소문자로 변환한 문자열을 리턴한다.
https://school.programmers.co.kr/learn/courses/30/lessons/181949
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 전국 대회 선발 고사 / PriorityQueue, Stream ( range, filter, box, sorted, reduce, get) (0) | 2023.10.08 |
---|---|
[프로그래머스(Java)] 유한소수 판별하기 (1) | 2023.10.02 |
[프로그래머스(Java)] 치킨 쿠폰 (0) | 2023.10.02 |
[프로그래머스(Java)] 등수 매기기 / ArrayList.indexOf, TreeMap, Comparator.reverseOrder() (1) | 2023.10.02 |
[프로그래머스(Java)] 로그인 성공? / Map, map.containsKey() (0) | 2023.09.28 |