본문 바로가기
728x90

전체 글239

[ BOJ/C# ] 2193 이친수 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 이름에 끌려 풀게 된 문제이다. 정말로 이친수라는 개념이 존재하나 싶어 검색해보기도 하였다...ㅎㅎ 문제 자체는 아주 기본적인 dp문제였다. using System; using System.IO; namespace B2193 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStand.. 2023. 10. 31.
[ BOJ/C# ] 1316 그룹 단어 체커 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 아스키코드를 활용하였다. using System; using System.IO; namespace B1316 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Conso.. 2023. 10. 30.
[ BOJ/C# ] 4949 균형잡힌 세상 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net Stack을 이용하여 푸는 문제이다. 전에 비슷한 문제를 풀었던 것 같다. 처음에 틀린 이유는, stack에 괄호가 남아있는 경우의 수를 계산하지 못했기 때문이다. using System; using System.IO; using System.Text; namespace B4949 { class Program { static void Main() { StreamReader s.. 2023. 10. 29.
[ BOJ/C# ] 11050 이항 계수 1 https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 주어진 이항계수는 n!/(n-k)!k!로 값을 구할 수 있다. 이 팩토리얼을 풀어서 보면 (n부터 n-k전까지를 곱한 값)/(1부터 k까지 곱한 값)이니, 아래의 반복문으로 쉽게 풀이할 수 있다. using System; using System.IO; namespace B11050 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); Stre.. 2023. 10. 28.
[ BOJ/C# ] 2108 통계학 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 중앙값과 최빈값에 대하여 좀 생각해야 하는 문제였다. 중앙값은 n이 짝수일 경우를 생각해야 했고, 최빈값은 최빈값이 여러 개 있을 경우 두 번째로 작은 값을 출력해야 했다. 이를 위해 값의 수를 세는 배열을 따로 만들어 구해주었다! using System; using System.IO; using System.Text; namespace B2108 { class Program { static void Main(.. 2023. 10. 27.
[ BOJ/C# ] 18110 solved.ac https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 굉장히 난관이 많았던 문제이다.... 1. 반올림을 내장함수가 아닌 직접 구현해야 했다. 2. 런타임 에러 (InvalidOperation) : 0의 경우를 넣지 않아 생긴 문제였다. 3. 시간 초과 : list 대신 int 배열로 바꾸었다. 4. int로 바꾸니 arr.Sum()에서 int로 값이 나와 값이 버려지는 문제가 생겼다. 이는 형식을 double로 바꾸어 .. 2023. 10. 25.
[ BOJ/C# ] 16928 뱀과 사다리 게임 https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 또 BFS 문제이다. 이번에는 뱀과 사다리라는 조건이 주어진 문제이다. 이 문제는 map을 x, y를 나누지 않고 100칸을 기준으로 한 배열로 보는 것이 편할 것이라 생각하였다. 그리고 사다리와 뱀을 따로 나누어 저장했는데, 푼 이후로 다른 분 코드를 찾아보니 나누지 않고 한 배열 안에 저장하더라!! 생각해 보니 굳이 나눌 필요가 없다고 생각되었다... 2023. 10. 24.
[ 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.
728x90