일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 정올 1620
- Bfs와DFS
- D드라이브생성
- 주사위굴리기2
- 자바
- 코테
- 23288
- 자바 코테
- 파티션 크기 조정
- 백준13458
- 알고리즘
- java
- 백준
- 에라토스테네스의채
- 백준2251
- 중복조합
- 정보처리기사
- N과M
- 완탐
- 볼륨 만들기
- 완전탐색
- 순열
- 백준15652
- 알고리즘개념
- 재귀함수
- 중복순열
- 코테준비
- 전화번호속의암호
- 삼성역테
- BFS
- Today
- Total
목록백준 (23)
뚱땅뚱땅
https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 풀이 주사위 굴리는 것에 대해서 생각을 오래했다. 숫자로 생각하지말고, 주사위가 굴러갈 떄마다 주사위 면이 어떻게 변하는지 생각하면 풀리는 문제였다. 굴리는 방향별로 나눠서 생각하면 됐다. 연속해서 이동할 수 있는 경우는 DFS로 간단하게 풀어내면 된다. import java.io.BufferedReader; import java.io.IOException; import java..
https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net # 주의할 점 - 변수의 범위 int형의 범위는 대략 20억까지 커버된다. 이 문제에서는 시험장의 개수인 N이 100만까지고, 시험장마다의 응시자 수도 100만까지다. 따라서, 총 응시자는 100만 * 100만 > 20억 이고, 총감독관과 부감독관이 1명씩 감독가능한 경우 전체 감독자 수는 int형 범위를 넘게 된다. 따라서 long형 변수..
https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net string도 switch문으로 비교 가능하다는 것을 알게 됐다. 또한, HashSet을 적절히 이용하는 방법을 연습할 수 있었다. public class Main { public static void main(String[] args) throws NumberFormatException, IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System..
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 중복조합 문제다. HashSet을 사용해서 중복되는 수열을 걸러줬다. 이 문제를 끝으로 N과 M 모음집이 끝났다. 순열 조합은 알고리즘의 기본이므로 헷갈린다면 모음집을 다시 풀어보도록 하자. public class Main { static int N,M; static int[] arr; static StringBuilder sb = new StringBuilder(); static HashSe..
https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 중복순열 문제다. 앞에서 푼 문제에서 hashset을 사용했던 것 대신 linkedlist를 사용했더니 시간초과가 떴다. 검색해보니, hashset보다 linkedlist의 시간이 훨씬 많이 나온다. (참고 글: https://12bme.tistory.com/91 - Collection 인터페이스별 성능 비교 글) public class Main { static int N,M; static i..