본문 바로가기

알고리즘/인프런

섹션 1. String(문자열)_2. 대소문자 변환

문제

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

입력

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

출력

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

입출력 예제


풀이 과정은 이전 문제와 동일하게 변수와 메소드 선언 > 메소드 구현 > 출력이다.

 

입력받을 문자열과 실제 작업이 이루어질 메소드를 선언한다.

Scanner를 사용하여 입력받는다. 

그 후에 생성한 메소드를 실행할 수 있도록 main에 객체를 생성한다.

(이 때, 생성한 메소드가 static 이 붙어있다면 객체 생성을 해주지 않아도 된다.)

 

이제 메소드를 구현해보자.

문자열이기에 String으로 변수를 선언하고 향상된 for문을 사용하여 문자를 하나씩 비교한다.

이 때, char x : ' ' 에서 ' ' 부분에는  ArrayList, List 등과 같은 배열이 들어가야 한다.

때문에 toCharArray()를 사용하여 str에 입력된 문자열을 문자 하나씩 분리해서 문자 배열을 생성하도록 한다.

if-else 문을 통해 소문자면 대문자로, 대문자면 소문자로 바꿔주는 코드를 작성한다.

여기에 사용된 isLowerCase() 는 입력받은 문자가 소문자인지 확인하여 true / false를 반환해준다.

 

결과적으로 해당 문자가 소문자이면 대문자로 변환하여 result에 추가하고,

대문자이면 소문자로 변환하여 result에 넣어준다.

 


해당 글은 인프런 > 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비(김태원)강의를 참고하여 작성하였습니다.