알고리즘 설계기법 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라는 집합의 모든 부분집합을 구해라) :..
문제 - (https://programmers.co.kr/learn/courses/30/lessons/17683) 다른사람 풀이를 보고 현타왔던 문제다... 이 문제를 풀 때 가장 애를 먹었던 것은 C, C#, D, D#, E, F, F#, G, G#, A, A#, B 의 입력이었다. 입력이 쉼표를 제외하고 주어지는데, #이 붙은 문자가 없었다면 그냥 contains를 써서 풀면 됐었다. 하지만 ABC#과 ABC는 엄연히 다른 음계인데 contains를 쓰면 true가 반환된다 ㅠㅠ 그래서 나는 더 깊게 생각안해보고 위에 쉼표로 구분하듯이 리스트에 담는 방법을 선택했다. ex) 입력 : CC#BCC#BCC#BCC#B // 악보 파싱 ArrayList akbo = new ArrayList(); for (i..
문제 - (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWqUzj0arpkDFARG&categoryId=AWqUzj0arpkDFARG&categoryType=CODE) 전형적인 dfs 문제였다 dy,dx를 이용한 4방 탐색을 사용했다 한번 방문했던 곳에서 본 명물을 visited에 추가하고, 다음번 방문 하는 곳에 봤던 명물이 있다면 그 곳은 방문하지 않는다 📌주의할 점 visited처리를 어떻게 할까 고민하다가 처음엔 ArrayList를 사용했다. 리스트에 add, remove를 사용하려고 했는데 문제가 생겼다. ArrayList형 리스트의 경우 list.remove( map[y][x] ) 를 하게되면 cha..
문제 - (https://www.acmicpc.net/problem/16235) 구현 자체는 어렵지 않은 시뮬레이션 문제였다 문제를 풀면서 이게 골드 4라고?라고 생각할 정도였으니,... 근데 채점을 해보니 바로 시간초과가 났다. 이 문제의 키포인트는 어떻게 시간초과가 나지 않게 시뮬레이션을 돌릴 것인지 인 것 같다. 앞으로의 코딩에서도 그렇고 꼭 알고 넘어가야 할 것이 있어서 블로그에 포스팅하기로 했다. 처음에 자꾸 시간초과가시간 초과가 떴을 때 어디가 문젠지 몰라서 시간 초과가 날만한 곳을 예상하고 수정해서 제출하기를 반복했다. - 죽은 나무를 큐에 담아서 시간초과가 났나? => 아님. 큐의 offer, poll은 O(1)이다. - remove할 때 시간 복잡도가 큰가? => 아님. LinkedLis..
- Total
- Today
- Yesterday
- 코딩테스트
- 구현
- 프로그래머스
- 그리디
- 완전탐색
- 아기상어
- 톱니바퀴
- withCredentials
- 우선순위큐
- 구명보트
- 브라우저 요청
- 인구이동
- 코테
- 배열순회
- Greedy
- Access-Control-Allow-Origin
- 백준
- 재귀
- 14891
- 코딩테스트 연습
- 시뮬레이션
- dfs
- BOJ
- 사다리 조작
- 자바
- java
- 큰 수 만들기
- header
- 16234
- 드래곤 커브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |