WA

wooguijung Reply 4 years 50 weeks ago
이유를 모르겠습니다. 의심이 가는거는 지금 메모리 초과인 것 같은데, 그리고 혹시 자바에서 String 타입의 변수 a가 있다고 가정하면, a의 몇번째 char를 바꿀 수 있는 방법이 있나요?? a.charAt(i) = '*' ;은 불가능한 표기이더라고요. charAt이 i번째 char를 반환하는 메소드라서 i번째 char에 접근할 수 잇는 메소드가 있으면 좋을 것 같은데,,,
withcs2 Reply 4 years 50 weeks ago
혹시 sample output은 제대로 나오나요? '*'만 처리하고 ' '에 대해서는 처리하지 않아서 WA입니다. 문자열 str의 i번째 char바꾸는 방법은 String str="asdf"; int i=1; char c='x'; str.substring(0,i-1)+c+str.substring(i); // String으로만 해결 StringBuffer strBf=new StringBuffer(str); strBf.setCharAt(i,c); //StringBuffer로 해결 자바에서 String을 쪼개고 합치는 과정은 생각보다 비효율적입니다. 효율적인 문자열처리에 대해 알아보고싶다면 StringBuffer나 StringBuilder에 대해 공부해보시면 좋을 것 같습니다.
wooguijung Reply 4 years 50 weeks ago
컴파일러가 달라서 그런지는 모르겠는데, intellij에서는 잘 나와서 초기화를 안했었네요,,, 감사합니다.