기본 Form
프로그래머스 기본 Form
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 한 단어 입력받기 (띄어쓰기 X)
String a = sc.next();
// 숫자 입력받기
int b = sc.nextInt();
// 소수점 입력받기
double c = sc.nextDouble();
// 한 문장 입력받기 (띄어쓰기 O)
String d = sc.nextLine();
// 개행 O
System.out.println(a);
// 개행 X
System.out.print(a);
}
}
프로그래머스 + 백준 기본 Form
import java.util.Scanner;
public class Main {
public int solution(String str, char t) {
int answer = 0;
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
System.out.print("");
}
}
Chap01. 문자열
대소문자 변환 관련
String str;
// 전체 문자열 대문자로 변환
str = str.toUpperCase();
// 전체 문자열 소문자로 변환
str = str.toLowerCase();
char c;
// 문자 대문자로 변환
c = Character.toUpperCase(c);
// 문자 소문자로 변환
c = Character.toLowerCase(c);
//////// ASCII 넘버 활용 대문자 (65 ~ 90) / 소문자 (97 ~ 122) : 둘의 차이는 32
// 숫자로 연산되므로 char 로 cast 시켜야 한다
if (c >= 65 && c <= 90) {
c = (char) (c + 32);
} else if (c >= 97 && c <= 122) {
c = (char) (c - 32);
}
//////// 문자가 대문자인지
boolean chk;
// 문자가 대문자인지
chk = Character.isUpperCase(c);
// 문자가 소문자인지
chk = Character.isLowerCase(c);
문자열에서 문자 뽑기
String str;
// 문자열을 문자 배열화
for (char strChar : str.toCharArray()) {}
// 문자열에서 해당 index 에 해당하는 문자 뽑기
char c = str.charAt(i);
배열 길이 vs 문자열 길이
String str;
int[] intArray;
// 문자열 : 괄호 O
for (int i = 0; i < str.length(); i++) {}
// 배열 : 괄호 X
for (int i = 0; i < intArray.length; i++) {}
문자열 자르기
String str = "MyString";
// String.split("")
for (String s : str.split("")) {
System.out.print(s + " ");
}
// String.toCharArray()
for (char c : str.toCharArray()) {
System.out.print(c + " ");
}
// String.charAt(i)
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(i));
}
// Stream 이용
str.chars() // IntStream
.mapToObj(i -> (char) i) // Stream<Character> 으로 변환
.forEach(i -> System.out.print(i + " ") // 출력
// 모두 아래와 같은 결과 출력
// M y S t r i n g
// substring 활용
String.substring(start); // 문자열 start 위치부터 끝까지 문자열 자르기
String.substring(start, end); // 문자열 start 위치부터 end 전까지 문자열 발췌
// 예제
String str = "ABCDEFG";
str.substring(3); // substring(시작위치) 결과값 = DEFG
str.substring(3, 6); // substring(시작위치,끝위치) 결과값 = DEF
String.indexOf 활용
String test = "Hello World";
// indexOf (정방향)
System.out.println(test.indexOf("World")); // 6
System.out.println(test.indexOf("World", 5)); // 6 (탐색을 시작할 위치 : index 5)
System.out.println(test.indexOf('o')); // 4
System.out.println(test.indexOf('o', 5)); // 7 (탐색을 시작할 위치 : index 5)
// lastIndexOf (반대방향)
System.out.println(test.lastIndexOf("World")); // 6
System.out.println(test.lastIndexOf("World", 5)); // -1 (탐색을 시작할 위치 : index 5)
System.out.println(test.lastIndexOf('o')); // 7
System.out.println(test.lastIndexOf('o', 5)); // 4 (탐색을 시작할 위치 : index 5)
// indexOf() 를 사용하여 문자열 내의 특정 문자 갯수 세기
// 발견 못하면 -1
String str = "To be, or not to be, that is the question.";
int count = 0;
int pos = str.indexOf("be");
while (pos > -1) {
count++;
pos = str.indexOf("be", pos + 1);
}
System.out.println(count); // 2