728x90
반응형

문제 요약
- 알고리즘 분류: 문자열
- 난이도: Bronze5
- 문제내용:
- 문자열 대문자를 소문자, 소문자를 대문자로 변경해서 출력하면 된다.
- 사이트 주소: https://www.acmicpc.net/problem/2744
2744번: 대소문자 바꾸기
영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.
www.acmicpc.net
접근 방법
이번 문제는 함수 사용 하는 방법을 알면 된다.
- 파이썬은 isLower, isUpper로 체크 한다음에 .lower(), upper()함수 사용 하면된다.
- 자바는 문자열을 전체 대소문자 처리는 가능하는데. 이번 문제는 각 문자를 변환 하는거라서 원시적인 방법을 사용해야 한다.
- char 문자형으로 가져와서 ASCILL 코드표를 보고 범위를 체크하면 된다.
- 소문자를 대문자를 변경할때 +32하면되고 대문자를 소문자를 변경할때 -32하면된다.
코드
Python
string = input()
result = ""
for char in string:
result += char.upper() if char.islower() else char.lower()
print(result)
Java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String string = br.readLine();
StringBuilder result = new StringBuilder();
for(int i = 0; i < string.length(); i++) {
char tmp = string.charAt(i);
if(tmp >= 97 && tmp < 122) {
result.append((char)(tmp - 32));
}else {
result.append((char)(tmp + 32));
}
}
System.out.println(result.toString());
}
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[BAEKJOON] 1010 다리놓기 (0) | 2022.10.04 |
---|---|
[BAEKJOON] 1629 곱셈 - Python (0) | 2022.10.03 |
[BAEKJOON] 11051 이항 계수 2 (1) | 2022.09.30 |
[BAEKJOON] 1149 RGB거리 (1) | 2022.09.26 |
[BAEJOON] 1043 거짓말 (0) | 2022.09.25 |