조건에 맞게 단순 구현하는 문제.
https://www.acmicpc.net/problem/16926문제를 읽고, 배열이 돌아가는 구조를 이해한다.각 입력을 변수와 배열에 저장한다.다음과 같이 반시계 방향으로 각 도넛 모양의 묶음으로 배열이이 회전하게 된다.이를 구현하기 위해서 큐에 각 도넛을
https://www.acmicpc.net/problem/2309조합을 이용해 조건에 만족하는 경우를 찾아 출력.기본적인 조합문제이다.
https://www.acmicpc.net/problem/2605단순히 연결리스트를 활용해 원하는 인덱스에 새로운 학생을 추가해 준 후, 출력하면 되는 문제이다.
https://www.acmicpc.net/problem/1158문제를 이해하고, 큐를 이용해 구현하면 된다.연결리스트를 큐처럼 활용하여 구현했다.
https://www.acmicpc.net/problem/2578빙고 게임을 진행하며, 3개 이상의 줄이 완성될 때 진행자가 부른 수를 출력하면 된다.빙고 조건을 검사하는 함수만 잘 구현하면 된다.
https://www.acmicpc.net/problem/2491증가 or 감소 수열의 최대길이를 출력하는 문제다.증가하는 수열과 감소하는 수열의 최대길이를 각각 구해 더 큰 것을 출력한다.
도화지에 색종이를 붙혀 겹치는 부분을 고려해,붙혀진 총 넓이를 구하는 문제이다.도화지를 boolean 배열로 구현하면 된다는 생각만 떠오른다면 쉽게 해결할 수 있다.
https://www.acmicpc.net/problem/2564동근이가 시계방향 또는 반시계방향으로 이동할 때, 그 거리만 잘 계산해주면 된다.이 문제에서는 상점의 수가 3개로 고정이기에 중첩 for문으로 구현했지만, 상점의 수가 많아지면 순열과 그 파라미터
https://www.acmicpc.net/problem/2961조합을 이용해 각 음식의 쓴 맛과 신 맛을 합연산과 곱연산으로 계산하여 두 값의 최소값을 출력하는 문제이다.조합을 재귀함수로 구현할 수 있다면 쉽게 해결할 수 있다.
https://www.acmicpc.net/problem/1074문제가 어려워보이기도 하지만, 재귀함수를 이용해 구현하면 생각보다 간단한 코드로 해결할 수 있다.R행 C열을 입력 받게 되면 가장 큰 Z에서 어느 부분에 속하는 지를 찾아 수를 더해주고,한 단계씩
https://www.acmicpc.net/problem/3109복잡하게 생각해 모든 경우를 다 조사하려고 하면 오히려 구현하기 어려워지고 실행시간도 길어진다.좌측에서 우측으로 이어지는 파이프라인의 최대 수를 묻는 것이므로,좌측의 가장 상단부터 가장 다른 파이
https://www.acmicpc.net/problem/15683이 문제는 벽과 5가지의 CCTV가 입력으로 주어지고, 씨씨티비의 방향을 적절히 정해 사각지대의 최소 크기를 구하는 것이다.CCTV를 배열에 담아두고, 각 씨씨티비의 방향을 돌려가며 모든 경우의
https://www.acmicpc.net/problem/1759이 문제는 조건에 맞는 모든 암호를 출력하는 것이다.사전식으로 출력해야 하므로 A~Z순으로 정렬해주고, 문자에 중복이 없으므로 조합을 재귀함수로 구현하여 길이가 맞을 때 출력하면 쉽게 해결할 수
https://www.acmicpc.net/problem/1260DFS 깊이우선탐색과 BFS 너비우선탐색을 알고 구현할 수 있는지를 묻는 문제다.입력 받은 값으로 인접행렬을 만든 후에BFS를 Queue로 구현하고, DFS를 재귀함수로 구현하면 된다.
https://www.acmicpc.net/problem/16236NxN 사이즈의 맵과 그 안에 물고기들과 상어의 위치가 주어진다.상어는 자신보다 작은 물고기만 먹을 수 있고, 상어는 먹은 물고기의 수에 따라 크기가 증가한다.문제는 상어가 물고기를 먹을 수 있
https://www.acmicpc.net/problem/15686조합으로 M개의 치킨집을 고르고, 각 집마다 가장 가까운 치킨집을 찾아 치킨거리에 더해주면 된다.
https://www.acmicpc.net/problem/1753정석적인 다익스트라 알고리즘 문제이다.다익스트라의 과정은1\. 출발 정점 설정2\. 출발 정점과 연결된 정점들까지의 최소거리 저장3\. 방문하지 않은 정점 중 가장 비용이 적은 정점 선택4\. 해
https://www.acmicpc.net/problem/7576기본적인 BFS 문제이다.익은 토마토를 리스트에 담아두고, BFS를 활용하여 토마토가 모두 익게 되는 일수를 출력하면 된다.
https://www.acmicpc.net/problem/17144복잡해보이기도 하지만 단순하게 문제에서 요구하는 것을 구현하는 문제이다.
https://www.acmicpc.net/problem/2636토마토 문제와 거의 유사하다.BFS를 이용해서 구현하면 된다.
https://www.acmicpc.net/problem/1600BFS를 사용해 구현하는 문제이다.하지만 점프 횟수라는 조건 때문에 방문처리를 할 때, 점프 횟수에 따라 각각의 맵에 따로 처리를 해주어야 한다.boolean visit 배열을 3차원으로 만들어
https://www.acmicpc.net/problem/1463DP 또는 재귀함수를 이용해 해결할 수 있다.이 문제에서는 재귀함수를 이용했을 때 실행시간이 더 짧았지만, 여러 테스트 케이스를 출력한다면 DP를 활용할 때는 단순히 배열에 접근해 값만 가져오면
https://www.acmicpc.net/problem/4485각 칸을 이동할 때마다 비용이 필요하고, 목적지로 가는 데에 최소 비용을 구하는 문제이다.DP와 BFS로 각 칸마다 필요한 최소거리를 갱신해주는 방식과 BFS나 DFS를 활용해 연산해 주는 방식이
https://www.acmicpc.net/problem/2239가능한 경우를 하나씩 확인하며 순차적으로 확인하다 사전식으로 가장 빠른 경우가 완성되면 출력하고 시스템을 종료한다.
https://www.acmicpc.net/problem/14502벽 세 개를 쌓을 수 있는 모든 경우를 찾고, 각 경우마다 바이러스를 BFS로 퍼트려 안전구역의 넓이를 구한다.각 경우마다 구한 넓이로 최대 안전구역을 갱신한다.
https://www.acmicpc.net/problem/17135요구하는 조건을 구현할 수 있는 지를 확인하는 문제이다.완전탐색을 이용해 확인하는 방식으로 해결했다.세 궁수의 자리를 배치하기 위해 조합을 이용했고,attack()selectTarget()era
https://www.acmicpc.net/problem/17471모든 조합을 확인해 선거구를 선택된 것과 그렇지 않은 것 두가지 그룹으로 나누고, 각 선거구가 연결되었는지 여부를 확인하고 최솟값을 비교하여 갱신한다.
https://www.acmicpc.net/problem/17143huntingShark(i);moveShark();arrangeShark();각 턴마다 필요한 위 함수들을 구현해 활용했다.상어끼리 잡아먹어 정리하는 과정에서 초기화를 잘못해주는 실수를 했고,또
https://www.acmicpc.net/problem/1786 KMP 알고리즘을 활용하는 문제다. 부분 일치 테이블과 두개의 포인터를 활용해 문자열 속에서 원하는 문자열을 찾는 효율적인 방법이다.
https://www.acmicpc.net/problem/21608한 칸씩 조건에 맞게 채워나가면 된다.
https://www.acmicpc.net/problem/17626간단한 재귀함수 구현 문제이고, 가지치기를 통해 불필요한 호출을 줄이면 된다.
https://www.acmicpc.net/problem/15666정렬, 중복 제거 후에 순열 재귀함수를 이용하면 원하는 출력을 얻을 수 있다.
https://www.acmicpc.net/problem/2629재귀함수로 30개의 추를 (좌, 우, 사용하지 않음)을 모두 계산하면 3^30의 호출을 해야 한다.중복된 계산을 제외하면서 빠르게 계산하기 위해, 이전에 나온 값을 boolean\[] 배열 인덱스