본문 바로가기

분류 전체보기142

[BaekJoon] 알고리즘 수업 - 깊이 우선 탐색 1 (Silver 2) 문제 오늘도 서준이는 깊이 우선 탐색(DFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력하자. 깊이 우선 탐색 의사 코드는 다음과 같다. 인접 정점은 오름차순으로 방문한다. dfs(V, E, R) { # V : 정점 집합, E : 간선 집합, R : 시작 정점 visited[R] 2023. 7. 21.
[BaekJoon] 나이트의 이동 (Silver 1) 문제 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 입출력 예시 입력: 입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있다. 둘째 줄과 셋째 줄에는 나이트가 현재 있는 칸, 나이트가 이동하려고 하는 칸이 주어진다. 출력: 각 테스트 케이스마다 나이트가 최소 몇 번만에 이동할 수 있는지 출력한다. 입력예시.. 2023. 7. 18.
[BaekJoon] 피보나치 수 7 (Silver 5) 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입출력 예시 입력: 첫째 줄에 n이 주어진다. n은 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력: 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. 입력예시1) 10 출력.. 2023. 7. 18.
[BaekJoon] 파스칼의 삼각형 (Silver 5) 문제 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행에는 N개의 수가 있다. 첫 번째 행은 1이다. 두 번째 행부터, 각 행의 양 끝의 값은 1이고, 나머지 수의 값은 바로 위 행의 인접한 두 수의 합이다. 예를 들어, n=3이면 3번째 행의 2번째 수는 위 행의 인접한 두 수 (1과 1)을 더해서 만든다. n=6일 때, 파스칼 삼각형의 6번째 행의 10은 5번째 행의 인접한 두 수(4와 6)을 더해서 구한다. 같은 방식으로 n=11일 때, 다음과 같은 파스칼의 삼각형을 만들 수 있다. 정수 n과 k가 주어졌을 때 파스칼의 삼각형에 있는 n번째 행에서 k번.. 2023. 7. 18.
[C#] params 키워드 using System; using System.Diagnostics.CodeAnalysis; using System.Numerics; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { // params keyword: 같은 타입의 매개변수가 몇 개나 들어올지 모를 때 사용할 수 있음 // 여러개의 매개변수를 하나로 퉁쳐서 함수 작성 가능 double total1, total2; total1 = CheckOut(2, 3, 4, 5, 6, 7, 8); total2 = CheckOut(2, 3, 4, 5); Console.WriteLine(total1); Console.Write.. 2023. 3. 12.
[C#] 함수 오버로딩 method overloading using System; using System.Diagnostics.CodeAnalysis; using System.Numerics; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { // 함수 오버로딩 // 조건: 이름과 리턴 형식이 같지만 매개변수가 달라야함. double total; total = Multiply(2, 3, 4); Console.WriteLine(total); } static double Multiply(double a, double b) { return a * b; } static double Multiply(double a, double b, dou.. 2023. 3. 12.
[C#] 리턴값(반환값) return key word using System; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { int result1 = Multiply1(11, 12); double result2 = Multiply2(12.4, 13.7); Console.WriteLine(result1); Console.WriteLine(result2); Console.WriteLine(getMyName("jolab")); } static int Multiply1(int x, int y) { int z = x * y; return z; } static double Multiply2(double x, double y) { dou.. 2023. 3. 12.
[C#] 함수 method using System; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { String name = "JoLab"; int age = 22; singHappyBirthday_1(); // 그냥 아무것도 없는 함수 singHappyBirthday_2(name); // 매개변수가 있는 함수 1 singHappyBirthday_3(name, age); // 매개변수가 있는 함수 2 } static void singHappyBirthday_1() { Console.WriteLine("Happy birthday to you!"); Console.WriteLine("Happy birth.. 2023. 3. 12.
[SQL] 데이터베이스설계및실습 - 과제 1 쿼리문 연습 과제 drop database book; create database book; use book; create table productlines(productLine varchar(30) primary key, testDescription varchar(4000), htmlDescription mediumtext, image mediumblob); create table offices(officeCode varchar(10) primary key, city varchar(50) not null, phone varchar(50) not null, addressLine1 varchar(50) not null, addressLine2 varchar(50), state varchar(50), cou.. 2023. 3. 12.
[C#] foreach loop: foreach 반복문 using System; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { // foreach loop: String[] cars = { "BMW", "Mustang", "Corvette" }; foreach (String car in cars) { Console.WriteLine(car); } } } } 2023. 3. 12.
[C#] 배열 Arrays using System; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { // arrays: 배열 // String[] cars = { "BMW", "Mustang", "Corvette" }; // 배열 생성법 1 String[] cars = new string[3]; // 배열 생성법 2 Console.WriteLine(cars[0]); Console.WriteLine(cars[1]); Console.WriteLine(cars[2]); cars[0] = "Tesla"; cars[1] = "BMW"; cars[2] = "Mustang"; Console.WriteLine(ca.. 2023. 3. 12.
[C#] 계산기: Calculator using System; namespace MyFirstProgram { internal class Program { static void Main(string[] args) // main method { // 계산기: calculator do { double num1 = 0; double num2 = 0; double result = 0; Console.WriteLine("------------------"); Console.WriteLine("Calculator Program"); Console.WriteLine("------------------"); Console.Write("Enter number 1: "); num1 = Convert.ToDouble(Console.ReadLine()); Con.. 2023. 3. 12.
728x90