Progamming/BAEK JOON > 백준의 알고리즘

[백준] 25314번 : 코딩은 체육과목 입니다 - JAVA ,BufferedReader, StringBuilder 사용

코딩밤 2023. 2. 28. 14:02
300x250

 

https://www.acmicpc.net/problem/25314

 

25314번: 코딩은 체육과목 입니다

오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++

www.acmicpc.net

 

문제

백준 알고리즘 25314번 문제

문제를 읽고 다음과 같이 생각했다.

첫 번째 줄 : 정수 N

반복문을 사용해 문제풀이

 

풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        StringBuilder sb = new StringBuilder();	// 문자열을 붙여 출력하기 위해 사용
        for(int i = 0; i < N/4; i++) {
            sb.append("long ");			// append 사용해서 문자 결합하기
        }
        sb.append("int");
        System.out.println(sb);			// 문자열을 결합한것을 출력
    }
}

 

String 클래스는 고정 길이로 되어있기 때문에  작성을 하게 된다면

문자 +(새로운문자) + (새로운문자) 식으로 새로운 오브젝트가 추가하게 된다

 

그러므로 StringBuilder 클래스 를 사용하여 가변길이의 문자열을 사용해 문자를 추가해도

새로운 오브젝트를 추가하지 않고 문자열을 추가해줍니다.

 

예 )

StringBuilder sb = new StringBuilder();
sb.append("123");
sb.append("456");
sb.append("789");

System.out.println(new String(sb));      // 출력 : "123456789"

 

문자열 결합하는 처리가 필요한 경우  StringBuilder 클래스를 이용해

문자열을 결합하고 String 클래스에 대입해 작성해줍니다

 

 

 


Scanner를 사용하지 않은 이유

2023.02.16 - [knowledge base/BAEK JOON > 백준의 알고리즘] - [백준] 15552번 : 빠른 A+B - JAVA, BufferedReader, BufferedWriter

 

[백준] 15552번 : 빠른 A+B - JAVA, BufferedReader, BufferedWriter

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmic

codingnight.tistory.com

 

300x250