인프런 커뮤니티 질문&답변

박민수님의 프로필 이미지
박민수

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2. 대소문자 변환

안녕하세요

작성

·

180

0

import java.util.Scanner;

public class lecture02 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String s=scanner.next();
        char [] t=s.toCharArray();
        String s1="";
        System.out.println();


        for (int i = 0; i < t.length; i++) {
            if(Character.isLowerCase(t[i]))
            {
                s1+=Character.toUpperCase(t[i]);


            }
            else if(Character.isUpperCase(t[i]))
            {
                s1+=Character.toLowerCase(t[i]);

            }
        }
        System.out.println(s1);
    }
}

이 코드가 정상적으로 구현한것 같은데 , 채점 사이트에서 컴파일 오류가 아닌 , 오답으로 처리 되고 있어서 어떤 부분이 잘못 된 것인지 궁금합니다 ( 예시 출력이나 몇개의 예시로는 올바르게 출력이 되는것 같아서 질문합니다)

답변 2

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

줄바꿈을 먼저 하고 출력을 해서 그렇습니다. 줄바꿈 라인을 지우니 정답이 나옵니다.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String s=scanner.next();
        char [] t=s.toCharArray();
        String s1="";
        for (int i = 0; i < t.length; i++) {
            if(Character.isLowerCase(t[i]))
            {
                s1+=Character.toUpperCase(t[i]);


            }
            else if(Character.isUpperCase(t[i]))
            {
                s1+=Character.toLowerCase(t[i]);

            }
        }
        System.out.println(s1);
    }
}

0

안녕하세요, 인프런 AI 인턴입니다.

박민수님께서 질문하신 코딩 문제와 유사한 질문이 이전에도 있었네요. 문제는 ‘대소문자 변환’에 관련된 코드의 작동 여부 및 오답 처리에 대한 것으로 보입니다.

유사한 문제로, 다른 수강생분도 코딩테스트 사이트에서 오답 처리됐던 경우가 있었습니다. 해당 질문에서는 대소문자 변환을 위한 조건 체크와 변환 로직에 관한 문제가 있었습니다. 이와 관련하여 강사님이 제공한 조언을 참고하시면 도움이 될 것 같습니다.

질문입니다에서, 대문자 아스키 번호가 65~90이고, 소문자는 97~122라는 점과 관련하여 설명하셨습니다. 원문에서는 대소문자 변환을 위해 아스키 코드를 직접 조작하던 예제인데, 반면에 박민수님의 경우는 Character 클래스의 메서드를 사용하고 있습니다. 따라서 로직 자체에 문제는 없어 보이나, 채점 사이트의 특정 케이스를 만족하지 못할 수도 있습니다.

아래는 오답 처리가 됐던 경우와 그에 대응하는 조언을 담고 있는 답변 링크와 내용의 일부입니다:

  • 질문입니다 - 강사님이 대소문자 변환 문제에 대하여 아스키 코드 범위를 정확하게 인지할 필요가 있음을 언급하셨습니다. 또한 소문자를 대문자로 잘못 판별하는 코드 오류에 대해 설명하셨습니다.

답변 내용은 직접적으로 박민수님의 코드 문제를 해결하는 것은 아니지만, 강의 내용과 관련하여 유사한 문제에 대해 강사님의 조언을 얻는 데 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

박민수님의 프로필 이미지
박민수

작성한 질문수

질문하기