대소문자 변환

코코·2023년 7월 25일
0

기초 알고리즘

목록 보기
2/3
post-thumbnail

1. 문제설명

대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.

2. 입력

첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다. 문자열은 영어 알파벳으로만 구성되어 있습니다.

3. 출력

첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다. 문자열은 영어 알파벳으로만 구성되어 있습니다.

* 예시입력

ItArY

* 예시출력

iTaRy

☆풀이☆ (1~6번 순서로 진행)

	import java.util.Scanner;
    
       public class Main {

		  // 3. solution 메서드를 생성하고 매개변수로 str을 받는다.
          
          public String solution(String str) {
              String answer = "";

			  // 4. toCharArray() 함수를 통해 문자열 str을 char 배열로 
              // 만들고 char 변수 x를 넣어 반복문을 돌린다.
              
              for(char x: str.toCharArray()) {
              
              	  // 5. Character.toLowerCase 함수를 이용해 소문자로 변환한 값과
                  x의 값이 같다면 answer에 Character.toUpperCase를 이용해 
                  리턴된 대문자를 더해준다.
                  
                  if(x == Character.toLowerCase(x))
                      answer+=Character.toUpperCase(x);
                  else answer+=Character.toLowerCase(x);
              }

              return answer;
          }

          public static void main(String[] args){

              Main m = new Main();
              
              // 1. 스캐너를 통해 값을 입력받는다.
              Scanner sc=new Scanner(System.in);
              
              // 2. 입력받은 값을 변수 str에 할당한다.
              String str = sc.next();
              
              // 6. 생성된 객체 m으로 solution을 호출하고 
              입력받은 str을 대입하여 출력한다.
              System.out.println(m.solution(str));
          }
	   }

☆보너스 풀이☆ (아스키 코드를 이용)

	import java.util.Scanner;

       public class Main {

		  // 3. solution 메서드를 생성하고 매개변수로 str을 받는다.

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

			  // 4. toCharArray() 함수를 통해 문자열 str을 char 배열로 
              // 만들고 char 변수 x를 넣어 반복문을 돌린다.

             for(char x: str.toCharArray()) {

             	  // 5. 아스키코드를 이용(65~90은 대문자, 97~122은 소문자)
                  // 만약 x가 소문자라면 answer에 대문자를 더해주고, 
                  그렇지 않다면 소문자를 더해준다.

                  if(x>=97 && x<=122) answer+=(char)(x-32);
                  else answer+=(char)(x+32);
             }
              return answer;
          }

          public static void main(String[] args){

              Main m = new Main();

              // 1. 스캐너를 통해 값을 입력받는다.
              Scanner sc=new Scanner(System.in);

              // 2. 입력받은 값을 변수 str에 할당한다.
              String str = sc.next();

              // 6. 생성된 객체 m으로 solution을 호출하고 
              입력받은 str을 대입하여 출력한다.
              System.out.println(m.solution(str));
          }
	   }
profile
Just Do It

0개의 댓글