본문 바로가기

Algorithm/문제 풀이62

[알고리즘] 드래곤 커브 (백준 15685번) 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 삼성 소프트웨어 역량 테스트 기출 문제이다. 특정 점을 기준으로 도형을 회전시키는 전형적인 시뮬레이션 문제이다. 예전에 문제를 보다가 도저히 어떻게 해야할지 감이 안 잡혀서 안 풀었었는데 이번에 새로 보니 생각보다 어렵지 않았다. 보통 도형 회전 문제는 잘 보면 일종의 규칙을 발견할 수 있다. Solution import java.io.BufferedReader; import java.io.BufferedWriter; import ja.. 2020. 9. 18.
[알고리즘] 로봇 청소기 (백준 14503번) 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 시뮬레이션 문제다. 처음에 '되돌아 온다' 는 문장만 보고 DFS로 백트랙킹 하는 건가 했었는데 아닌듯 해서 그냥 BFS로 풀었다. Solution 사실 완전 탐색이랑은 관련이 없다. 조건에 맞는 한 방향으로만 계속 나아가기 때문이다. 다만 문제에서 헷갈렸던 부분이 있었다. 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다. 네 방향 모두 청소가 이미 되어있거나 벽이면서, 뒤쪽 방향이 벽이라 .. 2020. 9. 17.
[알고리즘] 아기상어 (백준 16236번) 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가�� www.acmicpc.net 예전에 푼 적이 있는 문제임에도 생각보다 시간이 더 오래 걸렸다. 그것도 예전에 풀었던 솔루션보다 시간이 더 길게 나오더라..;; BFS + 시뮬레이션 방식의 문제이다. N의 범위가 작아서 시간초과 걱정없이 풀 수 있는 문제이다. Solution fish_count : map에 있는 총 물고기의 수. queue에 맨 처음 상어 위치를 넣는다. fish_count가 1마리 이상 있으면 계속 반복문 진행 bfs 탐색 시작 현재 위치에서 최단 거리에 있는 먹.. 2020. 9. 17.
[알고리즘] 캐시 (2018 카카오) 코딩테스트 연습 - [1차] 캐시 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr 예전에 카카오 연습문제를 찾아보다가 한 번 풀었봤던 기억이 있는데 그 당시엔 프로그래머스를 몰라서 프로그래머스에서 푼게 아니라 그냥 이클립스에다가 돌리고 나와있는 테스트 케이스만 돌려봤었.. 2020. 9. 11.