[문제풀이] 01-02. 대소문자 변환

𝒄𝒉𝒂𝒏𝒎𝒊𝒏·2023년 10월 12일
0

인프런, 자바(Java) 알고리즘 문제풀이

String(문자열) 다루기 - 0102. 대소문자 변환


🗒️ 문제


🎈 나의 풀이

	public static void solution (String str) {
        String answer = "";

        for(char c : str.toCharArray()) {
            answer += Character.isLowerCase(c) ? Character.toUpperCase(c) : Character.toLowerCase(c);
        }

        System.out.println(answer);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        solution(str);
    }


🖍️ 강의 풀이

    public static void solution (String str) {
        String answer = "";
        for(char c : str.toCharArray()) {
            answer += c >= 97 && c <=122 ? (char)(c - 32) : (char)(c + 32);
        }

        System.out.println(answer);
    }
   
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        solution(str);
    }


💬 짚어가기

대소문자를 체크하는 2가지 방식이 있다.

  • Character 클래스의 isLowerCase() 또는 isUpperCase() 활용
  • 아스키(ASCII) 코드 활용

강의에서는 두 가지 방식을 모두 보여준다.

대문자 알파벳 A는 10진수 65, Z는 10진수 90이다.
소문자 알파벳 a는 10진수 97, z는 10진수 122이다.
각 문자 사이의 차는 32이다.

profile
𝑶𝒏𝒆 𝒅𝒂𝒚 𝒐𝒓 𝒅𝒂𝒚 𝒐𝒏𝒆.

0개의 댓글