[JAVA] 백준 5단계
2024. 9. 9. 15:48ㆍ코딩 테스트(Coding Test)/백준
27866 문자와 문자열
나의 답) 104ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int i = Integer.parseInt(br.readLine());
System.out.print(s.charAt(i - 1));
}
}
2743 단어 길이 재기
나의 답) 108ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
System.out.print(str.length());
}
}
9086 문자열
나의 답) 108ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
String str = br.readLine();
sb.append(str.charAt(0)).append(str.charAt(str.length() - 1)).append("\n");
}
System.out.print(sb);
}
}
다른 사람의 답) 100ms
import java.io.*;
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());
for(int i = 0; i < n; i++){
String s = br.readLine();
System.out.print(s.charAt(0));
System.out.println(s.charAt(s.length() - 1));
}
}
}
11654 아스키 코드
나의 답) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char c = br.readLine().charAt(0);
int num = c;
System.out.print(num);
}
}
다른 사람의 답) 100ms
import java.io.IOException;
class Main {
public static void main(String[] args) throws IOException {
System.out.print(System.in.read());
}
}
11720 숫자의 합
나의 답) 104ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String n = br.readLine();
int sum = 0;
for (int i = 0; i < N; i++) {
sum += n.charAt(i) - '0';
}
System.out.print(sum);
}
}
다른 사람의 답) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String str = br.readLine();
int sum = 0;
for (int i = 0; i < n; i++) {
sum += Integer.parseInt(str.substring(i, i + 1));
}
System.out.print(sum);
}
}
10809 알파벳 찾기
나의 답) 100ms
import java.io.*;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str = br.readLine();
int[] arr = new int[26];
Arrays.fill(arr, -1);
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (arr[ch - 'a'] == -1) arr[ch - 'a'] = i;
}
for (int i = 0; i < 26; i++) {
sb.append(arr[i]).append(" ");
}
System.out.print(sb);
}
}
2675 문자열 반복
나의 코드) 96ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
st = new StringTokenizer(br.readLine());
int R = Integer.parseInt(st.nextToken());
String S = st.nextToken();
for (int j = 0; j < S.length(); j++) {
for (int k = 0; k < R; k++) {
sb.append(S.charAt(j));
}
}
sb.append("\n");
}
System.out.print(sb);
}
}
1152 단어의 개수
나의 답) 264ms
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
ArrayList<String> list = new ArrayList<>();
while (st.hasMoreTokens()) {
list.add(st.nextToken());
}
System.out.print(list.size());
}
}
다른 사람의 답) 124ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
int count = 0;
int pre_str = 32;
int str;
while (true) {
str = System.in.read();
if (str == 32) {
if (pre_str != 32) count++;
} else if (str == 10) {
if (pre_str != 32) count++;
break;
}
pre_str = str;
}
System.out.print(count);
}
}
2908 상수
나의 답) 100ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] nums = br.readLine().split(" ");
int num1 = Integer.parseInt(new StringBuilder(nums[0]).reverse().toString());
int num2 = Integer.parseInt(new StringBuilder(nums[1]).reverse().toString());
System.out.print(Math.max(num1, num2);
}
}
익명 객체 활용
익명 객체: 객체를 생성하면서 변수 이름을 따로 지정하지 않고 한 번만 사용하는 경우에 적합함
다른 사람의 답1) 100ms
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int num1 = Integer.parseInt(new StringBuilder(st.nextToken()).reverse().toString());
int num2 = Integer.parseInt(new StringBuilder(st.nextToken()).reverse().toString());
System.out.print(num1 > num2 ? num1 : num2);
}
}
11718 그대로 출력하기
나의 답) 104ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
}
}
다른 사람의 답) 104ms
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
System.out.write(System.in.readAllBytes());
}
}
- System.in.readAllBytes()는 표준 입력에서 모든 데이터를 읽어 byte[]로 저장합니다.
- System.out.write()는 이 바이트 배열을 표준 출력으로 그대로 출력합니다.
- 이 방식은 BufferedReader처럼 줄 단위로 처리하지 않고, 전체 입력을 한꺼번에 처리하는 방법입니다.
'코딩 테스트(Coding Test) > 백준' 카테고리의 다른 글
[JAVA] 백준 7단계 (0) | 2024.09.10 |
---|---|
[JAVA] 백준 6단계 (1) | 2024.09.09 |
[JAVA] 백준 4단계 (0) | 2024.09.05 |
[JAVA] 백준 3단계 (0) | 2024.09.04 |
[JAVA] 백준 2단계 (0) | 2024.09.03 |