본문 바로가기
728x90

알고리즘123

[ BOJ/C# ] 1697 숨바꼭질 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net BFS 문제이다. 많이 접해오던 BFS 문제와는 다르게 2차원배열로 이루어지지 않았다. 문제에서 주어진 3가지의 경우로 최소 시간을 구해야 한다. x-1, x+1, x*2의 가능 조건들을 설정한다. 주의해야 할 점은, x*2의 값이 K+1일 경우 x-1로 K를 만들어주는 경우도 있기 때문에 범위를 K+1로 설정해주어야 한다. 이 부분을 간과하여 처음에 틀렸다. using.. 2023. 10. 24.
[ BOJ/C# ] 1654 랜선 자르기 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 시간 관리를 위해 이분탐색을 효과적으로 사용해야 하는 문제이다. using System; using System.IO; namespace B1654 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = ne.. 2023. 10. 23.
[ BOJ/C# ] 1436 영화감독 숌 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 처음에는 이해가 잘 안 갔는데, 찬찬히 읽어보면 문제는 666이 들어가는 가장 작은 수대로 카운트하면 해결할 수 있었다. using System; using System.IO; namespace B1436 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); Str.. 2023. 10. 22.
[ BOJ/C# ] 1966 프린터 큐 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 처음에는 Queue의 형식을 int로만 하고 index를 따로 더하고 초기화하며 계산했지만, 유동적인 크기를 계속해서 계산해주어야 했기 때문에 문제가 많았다. 해결하기 위하여 Queue의 형식을 (int, int)로 바꾸고 초기의 인덱스 번호를 Item2에 넣어주어 고정시켜 해결하였다! using System; using System.IO; using System.Text; namespace B196.. 2023. 10. 21.
[ BOJ/C# ] 14940 쉬운 최단거리 https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net BFS 문제이다. 다른 문제와 차별점이 있다면 목표 지점부터의 거리를 계산하여 출력하는 것이다. 비슷하지만 이런 차별점이 BFS의 재미인 듯하다🤭🤭 using System; using System.IO; using System.Text; namespace B14940 { class Program { static int N, M; static int[,].. 2023. 10. 19.
[ BOJ/C# ] 21736 헌내기는 친구가 필요해 https://www.acmicpc.net/problem/21736 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net BFS로 풀었다. 비교적 간단한 문제였다. using System; using System.IO; namespace B21736 { class Program { static int N, M; static int count = 0; static int[,] map = new int[601, 601]; static bool[,] visited = new bool[601, 601]; sta.. 2023. 10. 19.
728x90