본문 바로가기

전체 글98

[16235번] 나무 재테크 16235번: 나무 재테크 www.acmicpc.net 시간제한이 0.3초로 꽤나 빡빡하다. 처음 접근은 3차원 벡터를 이용해서 각 위치(r,c)에 나무 정보를 저장해서 정렬을 하려고 했으나, 정렬이 반복되면 느릴꺼 같아서 정렬이 필요 없는 우선순위 큐를 사용하기로 했다. 1. 봄에 나이가 적은 순으로 양분을 흡수하기 때문에, 2차원 우선순위 큐를 이용해서 나무정보를 저장 2. 나무정보를 하나씩 뽑아서, 봄에 양분 흡수가능하면 다른 임시 우선순위 큐에 저장, 흡수가 불가능하면 죽은 나무의 나이/2를 death배열에 저장 3. 임시 우선순위 큐를 현 위치 나무정보를 가지고 있는 우선순위 큐에 복사 4. 여름에 death배열을 이용해 양분 업데이트 5. 가을에 8방 탐색을 통한 번식 6. 겨울에 양분 업데이.. 2020. 3. 1.
[17135번] 캐슬 디펜스 17135번: 캐슬 디펜스 www.acmicpc.net 삼성 SW역량테스트 A형 기출문제다. 시험 당시는 풀지 못했다. 탐색보단 구현 능력을 중요시 하는 문제같다. 입력을 보고 맵을 이용해서 풀이를 진행하는 경우가 많을 것이다. 나도 그렇게 풀었다. 의도한 방법은 적들의 위치를 리스트에 저장후 거리 별로 정렬 후 진행하는 것 같다. 나의 풀이 설계는 맵을 이용해서 시뮬레이션을 하듯 풀었다. 1. 각 궁수 위치를 조합을 통해 지정 2. 각 궁수 위치에서 왼쪽부터 가장 가까운 적을 체크 3. 모든 궁수의 적 체크가 끝났으면 적 카운트를 줄인다. 4. 궁수의 위치(행 인덱스)를 감소 적들을 하단으로 전진 시키는 것이 아니라, 궁수의 인덱스만 감소시키면서 맵은 따로 업데이트를 하지 않고 진행하였다. #inclu.. 2020. 2. 12.
[16985번] Maaaaaaaaaze 16985번: Maaaaaaaaaze www.acmicpc.net 5*5판 5개를 쌓고, 각 판을 회전 시키면서 cube[0][0][0] 에서 cube[4][4][4]로 갈수 있는 최소경로를 구하는 문제다. 조합 + 3차원 bfs문제다. 1. 각 판들을 쌓을 순서를 순열로 정한다. 2. 순서를 정했으면 각 판들을 회전시키면서 큐브를 만든다. 3. 큐브가 완성되었으면 bfs 주의할 점은 1. 각 판들을 순서를 바꿔서 쌓을수 있다. 2. 각 판들은 시계, 반시계 방향으로 자유롭게 회전가능 하지만 뒤집기는 안된다. #include #include #include #include #include #include #define min(a,b) a= 5 || c >= 5 || h >= 5)) return true;.. 2020. 2. 12.
1859. 백만장자 프로젝트 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 링크 난이도 D2 문제 중 정답률이 가장 낮은 문제다. 접근 방식의 전환이 필요한 문제인듯 하다. 앞에서 뒤로 탐색을 하는 것이 아니라 뒤에서 앞으로 탐색을 하면서 값을 갱신해야한다. #include #include #define ll long long using namespace std; int arr[1000001], tmp[1000001]; int N; int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int T; cin >> T; for (int tc = 1; tc > N; for (int i .. 2020. 2. 12.