알고리즘 분류- 정렬 https://www.acmicpc.net/problem/10867이제 나는 정렬 못하면.. 반성을 좀 해야 한다. 한 방에 잘 풀었음! 히히 HashSet 사용import java.util.*;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()); HashSet set = new HashSet(); ..
알고리즘 분류- 정렬 좀전에 풀었던 문제랑 완전 똑같다!!그냥 y좌표 -> x좌표 순 정렬로만 바꿔주면 됨. import java.util.*;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()); int[][] arr = new int[N][2]; for (int i = 0; i { if (n..
매일 풀기로 했었는데 ...ㅜㅜ자소서 쓰고 노션 날라가고 정신이 너무 없어서 5일만에 돌아왔다.킵고잉 ~! 알고리즘 분류- 정렬 여태까지 푼거랑 유사한 정렬 문제인데,이번에는 x좌표 -> y좌표 순으로 정렬한 다음 출력해야 한다. 2차원 배열에 넣고 Arrays.sort의 Comparator 메소드를 사용했다.import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = I..
알고리즘 분류- 문자열- 정렬 이전에 알고리즘 스터디에서 풀었던 문제인데문제를 보자마자 아 어떻게 하더라.. thenComapring이런거 써서연결했던 것 같은데.. 밖에 생각 안나더라여태까지 Arrays.sort에 compare 메서드 구현하는 것도 여러 번 했었는데 잘 기억 안남 ㅜㅜ 이번에 제대로 정리해보자먼저 내가 푼 방법은 구글링을 통해 찾은 compare 메서드다. Arrays.sort + Comparator compare 메소드 구현import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = n..
알고리즘 분류- 수학- 그리디 알고리즘- 정렬 B에 있는 수는 재배열하면 안 된다고 되어 있긴 한데..S의 최솟값을 만들려면 A는 오름차순, B는 내림차순 정렬해서 index 1부터 곱 돌리면 되겠다..라는 생각이 들어서 그렇게 풀었는데 통과는 됐다.(구글링 해보니까 다 이렇게 했던데 ??) 일단 내가 작성한 코드는 다음과 같다. 두 배열 오름차순, 내림차순 정렬import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...
알고리즘 분류- 자료 구조- 스택- 연결 리스트 알고리즘에 스택과 연결 리스트가 있는데나는 이 방법을 사용하지 않고 cursor의 위치를 잡아서 왔다갔다 하고StringBuffer의 메서드들을 사용했다.이 참에 StringBuilder와 StringBuffer도 정리해봐야겠다. StringBuffer 사용import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String word = br.rea..
알고리즘 분류- 구현- 자료 구조- 덱 이전에 풀었던 큐와 비슷한데이번엔 데크(덱) 이다! 파이썬에만 Deque가 따로 있는줄 알았던 나 반성해..우리 자바 미안하다너랑 점점 친해지고 있는 것 같아서 좋아 큐와 동일하게Deque dq = new LinkedList();로 덱을 생성해준 후 나머지는 동일하게 풀었다. 덱(Deque)Double-Ended Queue의 줄임말큐의 양쪽으로 엘리먼트의 삽입과 삭제를 수행할 수 있는 자료구조를 의미한다.어떤 쪽으로 입력하고 어떤 쪽으로 출력하느냐에 따라 스택(Stack)으로 사용할 수도 있고,큐(Queue)로도 사용할 수 있다. 그냥 큐와는 다른 덱의 메소드들addFirst(), offerFirst()덱의 앞쪽에 값을 추가한다. pollLast(), removeL..
알고리즘 분류- 자료 구조- 큐 스택 문제랑 동일한데,이번엔 큐다.Queue queue = new LinkedList();로 큐를 생성한 후 조건에 맞게 처리해주면 된다. - 값 추가스택의 push가큐에서는 offer() 또는 add() - 값 삭제스택의 pop이큐에서는 poll() 또는 remove() 예외(Exception)를 터뜨리고 싶다면 add, remove를 사용하고false나 Null로 받고 싶다면 offer, poll을 사용하면 된다. 맨 앞의 값은 스택과 유사하게 peek()으로 알 수 있고헷갈렸던 건 맨 뒤의 값이었는데,push로 추가되는 값을 num에 저장해두면 됐다. import java.util.*;import java.io.*;public class Main { public..