반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1660 파싱(parsing) 1 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
정수와 컴마로 이루어진 문자열이 공백없이 입력된다.(최대길이 100글자)
출력
컴마(,)를 분리한 결과를 출력한다.
예시
- 입력 : 4,52,600,-5,0
- 출력 : 4 52 600 -5 0
Solution (풀이)
- 풀이 1 : 메모리 11160, 시간 69
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
// ,(컴마)를 기준으로 나누어 배열에 저장한다.
String[] words = line.split(",");
// 향상 for문을 이용하여 ,(컴마)를 기준으로 나눈 인덱스 값들은 합친다.
for (String a : words) {
sb.append(a).append(" ");
}
System.out.println(sb);
br.close();
}
}
- 풀이 2 : 메모리 11164, 시간 68
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// ,(컴마) 기준으로 문자열을 나누어 토큰을 활용
StringTokenizer st = new StringTokenizer(br.readLine(), ",");
StringBuilder sb = new StringBuilder();
// 토큰이 있을때까지 반복
while(st.hasMoreTokens()) {
sb.append(st.nextToken()).append(" ");
}
System.out.println(sb);
br.close();
}
}
- 풀이 3 : 메모리 11160, 시간 65
public class Answer3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
// 문자열 String 의 메소드인 replace 활용
sb.append(line.replace(',', ' '));
System.out.println(sb);
br.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1671 : 가위바위보 게임 (0) | 2022.08.01 |
---|---|
[CodeUp_Java] Q1661 : 파싱(parsing) 2 (0) | 2022.08.01 |
[CodeUp_Java] Q1640 : 악성 프로그램 삭제하기 (0) | 2022.08.01 |
[CodeUp_Java] Q1580 : (함수 작성) 원의 넓이 (0) | 2022.08.01 |
[CodeUp_Java] Q1571 : 함수로 Upper Bound 위치 리턴하기 (0) | 2022.08.01 |