일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Java
- Algorithm
- 자바의 메모리구조
- 403error
- 반복제어문
- 프록시패턴
- 자바
- 합 구하기
- 평균구하기
- 이터레이터패턴
- 코딩테스트
- 코테
- 대문자 변환
- 문자열
- 알고리즘
- 노출모듈패턴
- 자바의 구조
- 클래스영역
- 디자인패턴
- 참조자료형
- 스프링 스프링부트 차이
- 제어키워드
- 약수구하기
- 소문자 변환
- 선택제어
- push에러
- 메서드영역
- 자바버전차이
- IF문
- 플랫폼독립성
Archives
- Today
- Total
지니, 개발하다.
[Algorithm/Java] 1. 문자열 : 02. 문자 찾기 본문
[Algorithm/Java] 1. 문자열 : 02. 문자 찾기
dev.genii 2022. 9. 25. 23:51설명
대/소문자가 섞인 문자열을 입력
받아 대문자는 소문자로
, 소문자는 대문자
로 변환
하여 출력
입력
첫줄에 문자열 입력되며 문자열의 길이는 100을 넘지 않음
문자열은 영어 알파벳으로만 구성되어있음
출력
StuDY
sTUdy
작성코드
아스키코드 값을 이용하여 대/소문자 구분
// 대문자, 소문자가 같이 있는 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환
/* 1. 입력받기
* 2. 문자열 순서대로 문자로 읽기
* 3. 유니코드 값을 사용해서 대소문자 구분 후 출력
*/
//1. 입력받기
Scanner sc = new Scanner(System.in);
System.out.print("문자열을 입력하세요 : ");
String str = sc.next(); // 입력받은 문자열
String answer=""; //결과 문자열
char chr; // 문자 읽어올 변수
for(int i=0; i<str.length(); i++) {
chr=str.charAt(i); // 문자열을 0번 배열부터 문자 읽어오기 .charAt() : 스트링에 인덱스로 접근
if(chr>=65 && 90>=chr) { // 읽은 문자가 대문자일 때
answer+=Character.toLowerCase(chr); // 소문자로 변환
}else { // 대문자가 아닐 때(소문자 일때)
answer+=Character.toUpperCase(chr); // 대문자로 변환
}
}
System.out.print(answer);
다른 풀이
아스키코드를 사용하지 않고 소문자인지 확인하는 .isLowerCase()
를 사용한 문제풀이
String answer="";
for(char x : str.toCharArray()) { // 문자를 배열로 바꿔주고 문자x로 배열 탐색
if(Character.isLowerCase(x)) {//문자가 소문자인지 확인
answer+=Character.toUpperCase(x); //대문자로 저장
}
else { //문자가 대문자이면
answer+=Character.toLowerCase(x); //소문자로 저장
}
}
System.out.print(answer);
'Study > Algorithm (Java)' 카테고리의 다른 글
[Algorithm/Java] 1. 문자열 : 01. 문자 찾기 (1) | 2022.09.23 |
---|
Comments