본문 바로가기
알고리즘(Java)/String

[알고리즘]String(문자열) 2. 대소문자 변환 - 대문자는 소문자로 소문자는 대문자로 변환하기

by snowballchoi 2021. 7. 15.
2. 대소문자 변환
대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램
입력) 첫 줄에 문자열이 입력됩니다. 
출력) 첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.

 

 

1. isLowerCase(), isUpperCase() 메소드 이용

import java.util.Scanner;

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

		for (char x : str.toCharArray()) {			
			if (Character.isLowerCase(x)) {
//				System.out.println(x + " is lowercase");
				answer = answer + Character.toUpperCase(x);							
			}
			if (Character.isUpperCase(x)) {
//				System.out.println(x + " is uppercase");
				answer = answer + Character.toLowerCase(x);			
			}
		}		
 		return answer;
	}

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

}

 

2. 아스키 코드

import java.util.Scanner;

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

		for (char x : str.toCharArray()) {
			if (x>=97 && x<=122) answer += (char)(x-32); // 소문자(97~122) -> 대문자
			else answer += (char)(x+32); // 대뮨자(65~90) -> 소문자
		}
 		return answer;
	}

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

}

 

3.

import java.util.Scanner;

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

		for (char x : str.toCharArray()) {	
			if (x>='a' && x<='z') answer = answer + Character.toUpperCase(x); 	
			if (x>='A' && x<='Z') answer = answer + Character.toLowerCase(x);	
		}		
 		return answer;
	}

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

}

결과

입력
sNowBAll

출력
SnOWbaLL

댓글