<섹션1-STRING> 2. 대소문자 구분

조이·2021년 7월 20일
0

자바 알고리즘

목록 보기
2/41
post-thumbnail

2. 대소문자 변환

<설명>

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

<입력>

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

<출력>

첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.

===================================================

<코드>

아스키 코드로 알파벳 대문자는 65~90, 소문자는 97~122이다. 즉, 대문자와 소문자는 32의 차이가 있다는 것이다. 대문자를 소문자로 만들기 위해서는 32를 더해주고 소문자를 대문자로 만들기 위해서는 32를 빼주면 된다.

지정한 위치에 있는 알파벳을 알려주는 charAt(i)를 이용하여 알파벳을 알아내고 형변환을 한 다음 if문을 사용하여 대문자인지 소문자인지 판별하고 바꿔준 후 반환한다.

import java.util.Scanner;

public class Main {
	public String solution(String word) {
		String answer = "";
		
		for(int i=0;i<word.length();i++) {
			int tmp=(int)word.charAt(i);
			
			if((65<=tmp)&&(tmp<=90)) {
				answer+=(char)(tmp+32);
			}
			
			else if((97<=tmp)&&(tmp<=122)) {
				answer+=(char)(tmp-32);
			}
		}
		return answer;
	}
	
	
	public static void main(String[] args) {
		Main main = new Main();
		Scanner scan = new Scanner(System.in);
		String word=scan.next();
		System.out.println(main.solution(word));
	}

}

<중요>

1) 대문자

  • int형으로 65~90

2) 소문자

  • int형으로 97~122

3) 특정 위치에 무슨 알파벳이 있는가

  • 문자.charAt(i);
profile
joy_study

0개의 댓글