너무 자주 질문 드려서 죄송합니다... ㅠ mechi WORDLENGTH 문제를 풀고 있습니다.. ㅎㅎ... 매일매일 이거 하느라 시간가는 줄 모르는데요... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int cases = Integer.parseInt(br.readLine()); while(cases-- > 0){ int wordNumber = Integer.parseInt(br.readLine()); StringBuffer result = new StringBuffer(); while(wordNumber-- > 0){ if(wordNumber == 0){ result.append(br.readLine()); } else { result.append(br.readLine() + ","); } } for(int i=1;i<result.length()-1;i++){ if(result.charAt(i) == '-'){ if(result.charAt(i+1) == ','){ result.delete(i, i+1); } if(result.charAt(i-1) == ' ' || result.charAt(i+1) == ' '){ result.delete(i, i+1); i--; } else if(isCharter(result.charAt(i-1)) && isCharter(result.charAt(i+1))){ result.delete(i, i+1); i--; } else { result.delete(i, i+1); result.insert(i, ' '); } } else if(result.charAt(i) == ','){ if(isCharter(result.charAt(i-1)) && isCharter(result.charAt(i+1))){ result.delete(i, i+1); result.insert(i, ' '); } } } StringTokenizer st = new StringTokenizer(result.toString()); double avr = 0; int n = 0; while(st.hasMoreTokens()){ avr += st.nextToken().length(); n++; } avr = avr/n; avr = decimalScale(avr, 3); System.out.printf("%.3f\n", avr); } } public static boolean isCharter(char ch){ if(ch >= 'a' && ch <= 'z'){ return true; } else{ return false; } } public static double decimalScale(double decimal , int loc) { BigDecimal bd = new BigDecimal(decimal); BigDecimal result = null; result = bd.setScale(loc, BigDecimal.ROUND_HALF_UP); //반올림 return result.doubleValue(); } } 이런식으로 좀 무식하게 짜보았습니다.. ㅠ 통과해서 다른분들 소스좀 참고하려고 했는데요... 일단 예제에 있는 내용들은 전부 다되는데 다른 어떤게 문제인지 궁금하네요.... 아.. 답답합니다.. ㅠㅠ 12년 전
5개의 댓글이 있습니다. Being result = result.replaceAll("-", " "); 와 같이 하셨는데, 예를 들어 입력이 3 a- -b- c 뭐 대충 이런식으로 들어온다고 하면, "a--b-" 에서 c를 붙이는 도중에 앞에 있던 '-'들을 전부 제거해서 문제가 될 것 같습니다. 12년 전 link Being 음... 다시 보니 아닌 것 같네요. 못 본 걸로 해 주세요 ㅎㅎ 12년 전 link Being N = 1일 때 문제가 되겠네요. "a-b-c" 같은 경우 답이 5가 나올 것 같습니다. 12년 전 link mechi 말씀하신거 듣고 다른방식으로 다시 짰는데.. 그래도 오류네요.. 1도 되구요 다되요 ㅠㅠ 12년 전 link mechi 위에 소스가 수정한 소스입니다... ㅠㅠ 12년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
mechi
WORDLENGTH 문제를 풀고 있습니다.. ㅎㅎ... 매일매일 이거 하느라 시간가는 줄 모르는데요...
이런식으로 좀 무식하게 짜보았습니다.. ㅠ 통과해서 다른분들 소스좀 참고하려고 했는데요... 일단 예제에 있는 내용들은 전부 다되는데 다른 어떤게 문제인지 궁금하네요....
아.. 답답합니다.. ㅠㅠ
12년 전