https://www.acmicpc.net/problem/1697 Problem 현재의 위치에서 -1, +1, *2 의 움직임만으로 목표 위치에 도달할 수 있다. 목표 위치에 도달하기까지의 최소 시간을 구해야한다. 위치의 범위는 0~1000000 Solutio
https://www.acmicpc.net/problem/13913 Problem [1697] 숨바꼭질 문제에서 경로만 추가해주면 되는 문제 Solution 현재 위치에서 -1, +1, *2 해준 위치를 큐에 추가해줄때마다 path 리스트에도 현재 위치를 추가해
https://www.acmicpc.net/problem/16947역의 개수와 연결되어 있는 역(구간)의 정보를 알려주면 순환역을 구하고, 각 역에서 순환역 사이의 거리를 구해 사이의 거리 출력하는 문제크게 두가지 단계로 나누었다.순환역인지 판단 (dfs)각
https://www.acmicpc.net/problem/4963육지와 바다가 주어지면 연결되어 있는 육지를 한 섬으로 보았을 때, 섬의 개수를 구해주어야 한다.4방향에서 8방향으로 늘어난 방향만 주의하면 된다.지도의 맨 처음부터 끝까지 반복문을 돌렸을 때
https://www.acmicpc.net/problem/2667인접한 집에 같은 단지 번호를 붙여준다.총 단지 수와 각 단지당 집의 수 출력해주기참고) 4963 섬의 개수 문제는 이 문제와 유사한 8방향 문제인접한 집의 갯수를 세어줘야 하므로 DFS로 탐
https://www.acmicpc.net/problem/7562나이트가 이동할 수 있는 위치 설정만 잘하면 되는 문제이다.리스트에 방문해야 할 위치를 저장시켜주고, 제일 처음 들어온 위치부터 방문하는 deque를 이용한다.다음 방문해야 할 위치가 범위 내에
https://www.acmicpc.net/problem/1692916947과 유사하게 dfs로 사이클을 찾는 문제.시작점과 현재 위치가 같고 4개 이상의 점을 지나왔으면 사이클이 성립한다.visited 리스트를 이용해 True, False로 방문 했는지 안했
https://www.acmicpc.net/problem/21781이면 이동가능, 0이면 이동 불가능한 미로에서 (1, 1)부터 (N, M)까지 몇번만에 가는지 찾는 문제bfs를 이용했다.방문 했는지 확인하기 위해 visited를 True로 바꾸어준다.deq
https://www.acmicpc.net/problem/1707이분 그래프란, 인접한 노드를 서로 다른 색으로 칠할 때 그래프 내에 모든 노드를 두가지 색으로만 칠할 수 있는 노드이다.주어진 그래프가 이분 그래프인지 아닌지를 판단하는 문제dfs를 이용했다.
https://www.acmicpc.net/problem/13023인접 노드를 타고 들어갈 때, A-B-C-D-E 와 같이 연결된 노드들이 5개 이상 있는지 찾아내는 문제dfs를 이용해 방문하지 않은 인접노드들을 타고 들어가다가 방문한 노드가 5이면 관계를
https://www.acmicpc.net/problem/17413< > 괄호 안의 문자는 그대로 출력하고 그 외의 단어는 거꾸로 뒤집어 출력한다.단어는 공백을 기준으로 구분하며, < > 괄호 안의 문자는 단어가 아니다.큐와 스택을 이용하였다.&l
https://www.acmicpc.net/problem/17298각 수에 대해 해당 수보다 오른쪽에 있으면서 더 큰 수 중 가장 왼쪽에 있는 수를 구하는 문제오큰수가 없는 경우 -1을 출력처음에는 단순 반복문을 이용했는데 시간초과가 났다.이 문제는 스택을
https://www.acmicpc.net/problem/1935후위 표기식에 맞게 피연산자에 해당하는 값을 계산하면 되는 문제피연산자가 나오면 stack에 push(append) 하고, 연산자가 나오면 pop 하면 된다.단, stack에서 피연산자를 pop
https://www.acmicpc.net/problem/1138자신보다 키가 큰 사람이 자신의 왼쪽에 몇명이나 있는지 주어지면 그에 맞게 자신의 자리에 찾아가면 되는 문제반복문의 인덱스 값이 한 번 돌 때마다 하나씩 증가하는 특징을 이용하면 되는데처음에는
https://www.acmicpc.net/problem/1987각 칸에 알파벳이 적혀있는데 방문한 칸의 알파벳이 중복되지 않게 상하좌우로 움직여 최대 몇 칸을 갈 수 있는지 구하는 문제처음에는 dfs와 backtracking을 이용해 풀었는데 잘못된 부분이
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수
네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다.
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1, 1, 1로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.\-1+1+1+1+1 = 3 \+1-1+1+1+1 = 3 \+1+1-1+1+1 =
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지
"어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자"예를 들어, 숫자 1924에서 수 두 개를 제거하면 19, 12, 14, 92, 94, 24를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 number와 제거할 수의
https://www.acmicpc.net/problem/2644 부모 자식 관계인 사람들이 주어지고 부모 자식 관계를 1촌이라고 할 때, 주어진 두 사람의 관계는 몇 촌인지 계산하는 문제
https://www.acmicpc.net/problem/2239우리가 흔히 하는 스도쿠 게임을 알고리즘을 이용해 풀어내는 문제