char c = stdIn.next().charAt(0);
String str = "hello";
for (char c : str.toCharArray()) {
if (c == t)
answer++;
}
str.toCharArray()
를 쓴 이유는 해당 자리에 배열이나 리스트 등이 올 수 있으며, 문자열이 올 수 없기 때문이다.String.valueOf(배열)
에 넣으면 문자열로 변환된다.public String split(String regex)
public String split(String regex, int limit)
String str = "it is time to study";
String[] strArr = str.split(" ");
System.out.println(strArr); // ["it", "is", "time", "to", "study"]
indexOf(String str)
indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(Stringstr, int fromIndex)
String substring(int index)
// 해당 인덱스부터 이후의 문자열을 반환한다.
String substring(int beginIndex, int endIndex)
// begin 인덱스부터 end 인덱스 - 1까지의 문자열을 반환한다.
ArrayList<Integer> myArrayList = new ArrayList<>();
String str = "hello";
String reverse = new StringBuffer(str).reverse().toString();
// reverse = "olloeh"
Character.isAlphabetic('a'); // true
Character.isAlphabetic('A'); // true
Character.isAlphabetic('ㄱ'); // true
Character.isAlphabetic('가'); // true
Character.isAlphabetic('@'); // false
Character.isAlphabetic('1'); // false
Character.isLetter('a'); // true
Character.isLetter('A'); // true
Character.isLetter('ㄱ'); // true
Character.isLetter('가'); // true
Character.isLetter('@'); // false
Character.isLetter('1'); // false
String str =" a2v *;as";
System.out.println(str.replaceAll("[^A-Z]", ""));
// avas
int num10 = 77;
String num2 = Integer.toBinaryString(num10); // 1001101
String num8 = Integer.toOctalString(num10); // 115
String num16 = Integer.toHexString(num10); // 4d
int num10_2 = Integer.parseInt(num2, 2); // 77
int num10_8 = Integer.parseInt(num8, 8); // 77
int num10_16 = Integer.parseInt(num16, 16); // 77
int[] dx= {-1, 0, 1, 0}; int[] dy = {0, 1, 0, -1};
고려해보기HashMap<K, V> map = new HashMap<>();
HashMap<String,String> map1 = new HashMap<String,String>();//HashMap생성
HashMap<String,String> map2 = new HashMap<>();//new에서 타입 파라미터 생략가능
HashMap<String,String> map3 = new HashMap<>(map1);//map1의 모든 값을 가진 HashMap생성
HashMap<String,String> map4 = new HashMap<>(10);//초기 용량(capacity)지정
HashMap<String,String> map5 = new HashMap<>(10, 0.7f);//초기 capacity,load factor지정
HashMap<String,String> map6 = new HashMap<String,String>(){{//초기값 지정
put("a","b");
}};
map.put(key, value);
map.get(key);
: key에 해당하는 value 값 리턴map.keySet()
: 모든 key를 배열로 리턴map.size();
map.containsKey(key)
Map.containsValue(value);
map.remove(key);
map.getOrDefault(key, default)
TreeSet<Integer> set1 = new TreeSet<Integer>();//TreeSet생성
TreeSet<Integer> set2 = new TreeSet<>();//new에서 타입 파라미터 생략가능, 오름차순
TreeSet<Integer> set3 = new TreeSet<Integer>(set1);//set1의 모든 값을 가진 TreeSet생성
TreeSet<Integer> set4 = new TreeSet<Integer>(Arrays.asList(1,2,3));//초기값 지정
TreeSet<Integer> set5 = new TreeSet<>(Collections.reverseOrder()); // 내림차순
set.add(value)
: 내부에 값이 존재하지 않는다면 추가한 뒤 true 반환, 내부에 값이 존재한다면 false 반환set.remove(value)
: 내부에 값이 존재한다면 삭제한 뒤 true 반환, 내부에 값이 없다면 false 반환set.clear
: 모든 값 제거set.size()
set.first()
set.last()
set.higher(value)
set.lower(value)
Stack<Integer> stack = new stack<>();
stack.push(1);
stack.pop();
: 마지막에 들어간 값을 제거
stack.clear();
: 스택 초기화
stack.peek();
stack.size();
stack.contains(value);
stack.isEmpty();
Queue<Integer> que = new LinkedList<>();
que.offer(1);
que.poll();
: 마지막에 들어간 값을 제거
que.clear();
: 스택 초기화
que.peek();
que.size();
que.contains(value);
que.isEmpty();
public int[] solution(int n, int[] arr) {
for (int i = 0; i < n - 1; i++) {
int idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[idx] > arr[j]) {
idx = j;
}
}
int tmp = arr[i];
arr[i] = arr[idx];
arr[idx] = tmp;
}
return arr;
}
public int[] solution(int n, int[] arr) {
// 오름차순 방법 1
for (int i = 0; i < n; i++) {
for (int j = n -1; j > i; j--) {
if (arr[j] < arr[j-1]) {
int tmp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = tmp;
}
}
}
// 오름차순 방법 2
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
return arr;
}
public int[] solution(int n, int[] arr) {
for (int i = 1; i < n; i++) {
int tmp = arr[i], j;
for (j = i - 1; j >= 0; j--) {
if (tmp < arr[j]) {
arr[j + 1] = arr[j];
} else {
break;
}
}
arr[j + 1] = tmp;
}
return arr;
}
class Point implements Comparable<Point> {
public int x, y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
@Override
public int compareTo(Point o) {
if (this.x == o.x) return this.y - o.y; // 오름차순
else return this.x - o.x;
}
// o.y - this.y는 내림차순
}
public class Main {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int n = stdIn.nextInt();
ArrayList<Point> arr = new ArrayList<>();
for (int i = 0; i < n; i++) {
int x = stdIn.nextInt();
int y = stdIn.nextInt();
arr.add(new Point(x, y));
}
Collections.sort(arr);
for (Point o : arr) {
System.out.println(o.x + " " + o.y);
}
}
}
Arrays.stream(arr).max().getAsInt(); // arr 배열의 최댓값을 int형으로 반환
Array.stream(arr).sum(); // arr 배열의 합을 반환