일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 해설
- 코딩 테스트
- 2020
- 수능
- review
- 나는솔로
- 리뷰
- Recursive
- benefits
- array
- silver
- Algorithm
- 영어
- 백준
- kakao
- 영화
- health
- usaco
- 추천
- Movie
- 넷플릭스
- coding
- Netflix
- BOJ
- BFS
- 알고리즘
- Greedy
- 완전탐색
- parametric search
- 카카오
- Today
- Total
목록 computer (99)
Young
종만북에서 나오지만요. '중복없이 몇 개 중에 몇 개를 선택하는 방법' 너무 중요하게 다루고 있죠.완전 탐색의 기본 중에 기본 어떤 상황에서 물어봐도 바로 나와야 할 대답입니다. 우선 간단한 for문으로 고르는 방법부터 알아보겠습니다. 123456for(int i = 0; i
예상 난이도 : 5 / 10이번 문제는 '전공책'(https://www.acmicpc.net/problem/16508) 입니다. 이 문제가 좋다고 생각하는 이유는 '비트 연산에 대해서 연습, 완전 탐색을 다른 방식으로 접근하는 방법을 연습,최적화하는 방법에 대한 연습'을 해볼 수 있어서 입니다. 이 문제는 '완전탐색' 문제입니다.전공책의 갯수가 16개밖에 되지 않습니다. 모든 조합을 다 만들어봐도 2^16개 정도밖에 되지 않으니다 해봐도 무방합니다. 조건을 조금 추가해서 최적화 시킬 수도 있습니다. 우선 이런 작은 수의 완전탐색을 푸는 간단한 방법은 비트맵을 이용하는 겁니다.int 변수는 총 32비트로 32개 원소를 완전탐색할 때 쓸 수 있습니다. 원소의 갯수가 더 많다면 long long이나배열까지 쓸..
예상 난이도 : 3 / 10 이번 문제는 '문자 메시지' (https://www.acmicpc.net/problem/2037) 입니다.이번에도 '구현' 문제 입니다. 이 문제가 좋다고 생각하는 이유는 '자료를 어떤식으로 구성할 것인지에 대해서 생각해 볼 수 있고,시뮬레이션 문제에 대한 경험을 쌓을 수 있어서' 입니다. 우선 문자가 키패드 어느곳에 위치하고 버튼에서도 몇번을 눌러야 만들수 있는지에 대한 정보를저장해놔야 합니다. 이것을 위해 아래와 같이 저장합니다. 방법을 두가지 제시해 봤는데요. 편한걸 선택해서 쓰면 됩니다. 12345int cost[26] = { 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4 };int keypad[26] = { 1,1,1,2..
이번 문제는 'round robin'(https://www.acmicpc.net/problem/9436) 문제 입니다. 당분간은 '구현' 문제 위주로 업로드를 할 예정입니다. 이 문제가 좋다고 생각하는 이유는 'round robin 알고리즘에 대해서 생각해 볼 수 있고,언뜻 보면 쉬워보이는데 막상 구현하면 막히는 문제'이기 때문입니다. 저번 LRU Caching 문제와 비슷합니다. list를 사용해서 구현하면 아주 간단히 구현할 수 있습니다.문제가 영어라서 부담스러울 수 있지만 구현을 연습하기에 좋은 문제입니다. list에 대해서는 LRU 문제에서 자세히 설명했으니 생략하겠습니다. 1234 list ls; for (int i = 0; i
문제를 풀어본 후 해설을 보시면 좋습니다 !! ^ㅡ^ 예상 난이도 : 5 / 10 이번 문제는 수업 시간에 지겹게 들었던 'LRU Caching'(https://www.acmicpc.net/problem/4568) 입니다.컴퓨터 구조 수업에서 캐시에 동작에 대해서 배울 때 배우는 알고리즘 입니다. 이 문제가 좋다고 생각한 이유는 'LRU 알고리즘에 대해서 다시 한 번 고민해 볼 수 있으며, 카카오 기출 문제'이기도 하기 때문입니다. 우선 문제가 모두 영어이기는 하지만 아무것도 읽을 필요가 없습니다.그냥 LRU에 대해서 설명합니다. 입력 부분과 출력 부분 영어만 읽어주면 됩니다. 문제를 많이 풀어보셨다면, 대충 봐도 이해가 되실 텐데요.'!'가 나올때 캐시에 어떤 문자가 있는지 출력하고 나머지 문자는 모두..
문제를 풀어본 후 해설을 보시면 좋습니다 !! ^ㅡ^ 예상 난이도 : 5 / 10이번 문제는 '개미'(https://www.acmicpc.net/problem/10158) 입니다. 이 문제가 좋다고 생각한 이유는 '벡터에 대해서 생각해 볼 수 있으며, 시뮬레이션을 해야 할 것 같지만일정한 패턴(주기)가 있어서 그렇게 하지 않아도 되는 문제'에 대해서 생각해 볼 수 있기 때문입니다. 코딩 테스트에서 효율성까지 빡빡하게 보는 곳은 많이 없습니다.하지만 효율성까지 고려해서 짜면 좋겠죠. 그리고 무엇보다 이 문제는 고등학교 수학시간에 배웠던 간단한 벡터의 성질에 대해서 생각해 볼 수 있습니다.이 개미의 움직임을 하나하나 시뮬레이션을 해보려고 한다면 저같은 경우 골치가 많이 아플 것 같네요. 하지만 X축과 Y축의..
문제를 풀어본 후 해설을 보시면 좋습니다 !! ^ㅡ^ 예상 난이도 : 2 / 10이번 문제는 'CPU' (https://www.acmicpc.net/problem/16506) 입니다. 전형적인 구현 문제 입니다. 이 문제가 좋다고 생각한 이유는 '문자열 처리와 비트 연산에 대해서 연습할 수 있는 문제'이기 때문입니다. 문제는 명령어 끝에 'C'가 붙어 있으면 opcode 마지막 값이 1 이라는 것을 확인하고, ADD부터 RRC까지 1씩 증가하고 있다는 것을 확인한 후 코드를 짜면 더 쉽게 짤 수 있을 것 입니다. 명령어가 16bit 이므로 int 변수에서 처리해도 충분합니다.그리고 '
문제를 풀어본 후 해설을 보시면 좋습니다 !! ^ㅡ^ 예상 난이도 : 2 / 10BOJ 문제 중 경매(https://www.acmicpc.net/problem/2238)라는 문제를 보겠습니다. 이 문제는 전형적인 '시뮬레이션' 문제 입니다. 이 문제가 좋다고 생각하는 이유는 '자료구조를 어떻게 구성할 것인가'에 대해서 생각해 볼 수 있는 너무 간단하지도 않은 적당한 문제이기 때문입니다. 12345struct tt { int num; string name;}arr[10001]; cs 저 같은 경우는 다음과 같이 가격이 1부터 10,000까지 가능하기 때문에 배열을 10001개 만들었고,각 가격마다 입찰한 사람 수와 처음 입찰에 참여한 사람을 저장하기 위해 저런 식으로 구조체를 사용해배열을 만들었습니다. 입..