작성
·
281
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int cnt = sc.nextInt();
String pw = sc.next();
pw = pw.replaceAll("#","1").replaceAll("/*","0");
String answer = "";
for(int i=0 ; i<cnt*7 ; i+=7){
char target =(char)Integer.parseInt(pw.substring(i,i+7),2);
answer +=target;
}
System.out.println("answer = " + answer);
}
}
콘솔창 :
IntellJ에서는 직접 값을 입력하면 잘 뜨는데 강사님의 채점 프로그램에서는 작동하지 않습니다...
뭐가 문제일까요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
코드를 살펴보았을 때, 코드 자체에 문제가 있어 보이진 않습니다. 하지만 IntellJ에서 잘 작동하고 강사님의 채점 프로그램에서 작동하지 않는 경우, 몇 가지 가능한 원인이 있을 수 있습니다:
replaceAll("/*","0")
부분이 올바르게 해석되지 않을 경우 (여기서 "/*"
가 아닌 "\\*"
을 사용하셔야 합니다)특히 정규 표현식에서 “” 문자는 특수 문자로, “0 또는 더 많은 어느 것과도 일치”라는 의미를 가지므로, 문자 그대로의 ““를 대체하고 싶으시면 escape 문자를 사용하여 "\\*"
로 변경해야 합니다.
따라서, 다음과 같이 코드를 수정해보세요:
pw = pw.replaceAll("#","1").replaceAll("\\*","0");
그래도 문제가 해결되지 않는다면, 강사님의 채점 프로그램의 특정 요구 사항이 있을 수 있으니 강의의 커뮤니티 질문&답변 게시판에 질문하여 강사님의 도움을 받으시는 것을 추천드립니다.