[ 문제 ]N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. [ 코드 ]class Program{ static int n, m; static int[,] graph; static int[] dx = { -1, 1, 0, 0 }; s..
[ 문제 ]상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다.이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자.상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도) 된다. [ 코드 ]StreamReader sr = new StreamReader(Console.OpenStandardInput());StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());int T = int.Parse(sr.Rea..
[ 문제 ]오늘도 서준이는 병합 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.N개의 서로 다른 양의 정수가 저장된 배열 A가 있다. 병합 정렬로 배열 A를 오름차순 정렬할 경우 배열 A에 K 번째 저장되는 수를 구해서 우리 서준이를 도와주자.크기가 N인 배열에 대한 병합 정렬 의사 코드는 다음과 같다.merge_sort(A[p..r]) { // A[p..r]을 오름차순 정렬한다. if (p [ 코드 ]1. 내 코드using System;using System.Collections.Generic;class Program{ static List MergeSort(List arr) { // 길이가 1 이하시 반환 ..
[ 문제 ]javaScript에서 +,−은 수에 대해서는 일반적인 의미의 덧셈 뺄셈의 의미를 가지고 있습니다.하지만 문자열에 대해서 +는 두 문자열을 이어붙이라는 의미이고, −는 양쪽 문자열을 수로 해석한 이후에 빼라는 의미입니다. 𝐴,𝐵,𝐶를 각각 수와 문자열로 생각했을 때 𝐴+𝐵−𝐶를 출력하세요. [ 코드 ]string a = Console.ReadLine(); // = int a = int.Parse(Console.ReadLine());string b = Console.ReadLine();string c = Console.ReadLine();int result1 = int.Parse(a) + int.Parse(b) - int.Parse(c);int result2 = int.Parse(a ..
[ 문제 ]숫자 1, 2, 3으로만 이루어지는 수열이 있다. 임의의 길이의 인접한 두 개의 부분 수열이 동일한 것이 있으면, 그 수열을 나쁜 수열이라고 부른다. 그렇지 않은 수열은 좋은 수열이다.다음은 나쁜 수열의 예이다.3332121323123123213다음은 좋은 수열의 예이다.232321231232123길이가 N인 좋은 수열들을 N자리의 정수로 보아 그중 가장 작은 수를 나타내는 수열을 구하는 프로그램을 작성하라. 예를 들면, 1213121과 2123212는 모두 좋은 수열이지만 그 중에서 작은 수를 나타내는 수열은 1213121이다. [ 코드 ]1. 내 코드using System;class Program{ static int N; static string result; static..
[ 문제 ]심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. 8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1.두 생명체 A와 B의 크기가 주어졌을 때, A의 크기가 B보다 큰 쌍이 몇 개나 있는지 구하는 프로그램을 작성하시오. [ 코드 ]1. 내 코드class Program{ static int CountPairs(int[] A, int[] B) { Array.Sort(A); Array.Sort(B); int count = 0;..