반응형
어이없이 틀렸는데 헤맸다.
문제 설명
영어 알파벳으로 이루어진 문자열 str이 주어집니다.
각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해보세요.
입출력 예
입력 #1
aBcDeFg
출력 #1
AbCdEf
*내가 짠 코드* => 정답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
for(int i=0; i<a.length(); i++){
String tmp = a.charAt(i) +"";
if(tmp.equals(tmp.toUpperCase())){
answer += tmp.toLowerCase();
} else {
answer += tmp.toUpperCase();
}
}
System.out.print(answer);
}
}
- 내가 빠트린 점 : public staic void
return이 없어야하는데 return answer; 적고
에러 : Solution.java:19: error: incompatible types: unexpected return value
return answer;
왜 해당 에러가 왜 나오지 하고 있었다. 이클립스로 디버깅했으면 해결됬을 문제ㅠ
다른 분들 풀이보니 Character로 푸는 방법도 있던데 그 방법도 정리해보았다.
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
//Stack <Character> stack = new Stack <> ();
for(Character c : a.toCharArray()){
if(Character.isUpperCase(c)){
//stack.push(Character.toLowerCase(c));
answer += Character.toLowerCase(c);
}
else if(Character.isLowerCase(c)){
//stack.push(Character.toUpperCase(c));
answer += Character.toUpperCase(c);
}
}
System.out.println(answer);
}
}
반응형
'코테 준비(with 프로그래머스)' 카테고리의 다른 글
프로그래머스 day3 - 문자 리스트를 문자열로 변환하기 (0) | 2023.10.25 |
---|---|
프로그래머스 day3 - 문자열 섞기 (0) | 2023.10.25 |
프로그래머스 day2 - 문자열 겹쳐쓰기(substring) (0) | 2023.10.24 |
프로그래머스 day2 - 문자열 돌리기 (1) | 2023.10.24 |
프로그래머스 day1 - 특수문자 출력하기 (0) | 2023.10.24 |