알고리즘 설계기법 BruteForce Greedy BackTracking Divide & Conquer DP ( Dynamic Programming ) 어떻게 풀까? 문제를 보고 어떤 부류의 문제인지 파악 시간복잡도를 생각해서 얼마나 걸릴지 파악 연산 21억정도(int형 최대)면 1초안에 완전탐색이 가능하다. 삼성 역량테스트 (소프트웨어 검정 시험) - IM 1문제 1차원 배열, 단순 시뮬레이션 A형 AD 2문제(3시간) 시뮬레이션 (최적화까지는 생각 안해도됨) B형 Pro C형 Expert AD는 어떻게 나오나? BruteForce Greedy BackTracking Divide & Conquer 시뮬레이션 문제 재귀함수 DFS BFS 멱집합 PowerSet (A라는 집합의 모든 부분집합을 구해라) :..

내가 접했던 문제는 원형 회전판문제였다. 배열 pan[]이 있다고 치면 이 배열을 회전판이라고 생각하자 0 1 2 3 빨간색 화살표가 가리키는 숫자를 보면 회전판을 반시계방향으로 돌리면 0 -> 1 -> 2 -> 3 -> 0 -> 1 -> 2 -> 3 -> ... 이지만 회전판을 시계방향으로 돌리면 0 -> 3 -> 2 -> 1 -> 0 -> 3 -> 2 -> 1 -> ... 이다. 1에서 보다시피, 반시계로 돌려야 배열을 오른쪽으로 순회하고 시계로 돌리면 왼쪽으로 순회하는 것을 알 수 있다. 그렇다면 문제, Q. 반시계 방향으로 7만큼 돌렸을 때, 화살표가 가르키는 숫자는? 이거... 어떻게 구현할까? 1의 반시계의 경우는 쉽다. 회전판이 처음 가르키는 위치의 인덱스가 i라고 하면, pan[( i + ..
예를들어 55-50+40 이라는 문자열이 있다고 했을 때, nums라는 int형 배열에는 숫자만 넣고 ops라는 char형 배열에는 연산자만 넣고싶다면 이런 방법을 사용할 수 있다. String s = "55-50+40"; String numStr = s.replaceAll("[^0-9]", " "); String opStr = s.replaceAll("[0-9]", " "); StringTokenizer st = new StringTokenizer(numStr); int[] nums = new int[st.countTokens()]; for (int i = 0; i < nums.length; i++) { nums[i] = Integer.parseInt(st.nextToken()); } st = new ..
HashSet이 객체들을 검사할 땐, 내부적으로 hashCode()와 equlas()를 실행해본다. 따라서 HashSet이 커스텀 클래스를 담을 경우, 중복을 제거할 땐 hashCode()와 equlas()를 오버라이딩하여 재정의해주어야 한다. class Dot { int x; int y; Dot(int x, int y) { this.x = x; this.y = y; } @Override public boolean equals(Object obj) { if (this.getClass() != obj.getClass()) return false; return (((Dot) obj).x == this.x) && (((Dot) obj).y == this.y); } @Override public int hash..
- Total
- Today
- Yesterday
- 완전탐색
- Greedy
- 코테
- 코딩테스트 연습
- header
- 시뮬레이션
- 구명보트
- 자바
- 구현
- 우선순위큐
- 큰 수 만들기
- withCredentials
- 배열순회
- java
- 16234
- 톱니바퀴
- 재귀
- 드래곤 커브
- dfs
- 프로그래머스
- 브라우저 요청
- BOJ
- 백준
- 그리디
- 인구이동
- 사다리 조작
- Access-Control-Allow-Origin
- 아기상어
- 14891
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |