[출력] 문자열 중간 공백 제거│문자열 출력│문자열 반복 출력│for문│대소문자 변환│특수 문자 출력
2024. 1. 26. 11:59ㆍPratice/CodingTest
반응형
📙 문제 1.
문자열 str 출력
조건
1 ≤ str길이 ≤ 1,000,000
str에 공백 없음.
✏️ 정답.
문자열 입/출력
Scanner sc = new Scanner(System.in);
String str = sc.next();
문자열 길이
str.length()
문자열 변경 (공백제거)
str.replace(" ", "");
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
if(1 <= str.length() && str.length() <= 1000000) {
String result = str.replace(" ", "");
System.out.println(result);
}
}
}
📙 문제 2.
정수 a와 b를 각각 출력
조건
-100,000 ≤ a, b ≤ 100,000
str에 공백 없음.
✏️ 정답.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(-100000 <= a && a <= 100000 && -100000 <= b && b <= 100000) {
System.out.println("a = "+a);
System.out.println("b = "+b);
}
}
}
📙 문제 3.
문자열 str를 정수 n번만큼 출력
조건
1 ≤ str길이 ≤ 10
1 ≤ n ≤ 5
✏️ 정답.
StringBuilder에 문자열을 누적
append 메서드
문자열을 덧붙이는데 사용
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int n = sc.nextInt();
if (1 <= str.length() && str.length() <= 10 && 1 <= n && n <= 5) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
sb.append(str);
}
System.out.println(sb.toString());
} else {
System.out.println("조건을 만족하지 않습니다.");
}
}
}
📙 문제 4.
영어 알파벳으로 이루어진 문자열 str
대문자는 소문자로, 소문자는 대문자로 변환해서 출력
조건
1 ≤ str길이 ≤ 20
str은 알파벳으로 이루어진 문자열
✏️ 정답.
toCharArray
입력받은 문자열을 문자 단위로 나누기
향상된 for문
for (char c : str.toCharArray())
문자열 str을 문자 배열로 변환하고, 각 문자를 c에 순차적으로 대입하여 반복문을 수행
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
//Scanner 객체를 생성하여 표준 입력(System.in)에서 문자열을 입력받기
Scanner sc = new Scanner(System.in);
String str = sc.next();
//입력받은 문자열의 길이가 1 이상이면서 20 이하인지 확인
if (1 <= str.length() && str.length() <= 20) {
//문자열을 변환한 결과를 저장할 StringBuilder 객체를 생성
StringBuilder result = new StringBuilder();
//입력받은 문자열을 문자 단위로 나누기
//toCharArray 메서드를 사용한 향상된 for문
for (char c : str.toCharArray()) {
//대문자인 경우 소문자로, 소문자인 경우 대문자로 변환
if (Character.isUpperCase(c)) {
result.append(Character.toLowerCase(c));
} else if (Character.isLowerCase(c)) {
result.append(Character.toUpperCase(c));
} else {
//그렇지 않은 경우 그대로 유지
result.append(c);
}
}
//변환된 결과를 출력
System.out.println(result.toString());
} else {
//조건을 만족하지 않을 경우
System.out.println("조건을 만족하지 않습니다.");
}
}
}
📙 문제 5.
!@#$%^&*(\'"<>?:; 출력
✏️ 정답.
특수 문자열을 출력하기 위해서는 이스케이프 문자를 사용
- 백슬래시(\) 출력: \\
- 작은따옴표(') 출력: \'
- 큰따옴표(") 출력: \"
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
System.out.print("!@#$%^&*(\\'\"<>?:;");
}
}
( \' 앞에 \\가 있기때문에 중복 사용 가능! \\ \' → \\')
반응형