목록Computer (234)
Machineboy空

문제요약호수가 끊기지 않도록 쇼핑몰을 건설할 수 있는 경우의 수난이도Rank A풀이 포인트DFS 기본: 연결 요소 개수 구하기REVIEW DFS 공식 엄청나게 오랜만에 구현하려니 기억이 안나더라. 1) 전체 그리드에서 탐색을 시작할 곳 설정.2) 거기서 부터 이어진 대로 탐색시작. 탐색 완료 시 cnt++;3) 1,2,를 전체 칸의 수 만큼 반복해서 진행하면 연결 요소의 개수가 구해짐 즉, 탐색 시작할 칸의 좌표(x,y)를 DFS 함수에 넣어 탐색 시작하고, 방문 배열 값 관리해주면서 중복되지 않게 탐색하면 됌! 원리 한 번 다시 복기해둠 CODEusing System;class Program{ static int[] dx = { -1, 1, 0, 0 }; static int[] dy = { ..
문제요약칸의 총합이 같도록 초코를 분할해 가져라난이도B Rank풀이 포인트누적합new string('A', 3) = AAAREVIEW 연속된 칸의 합을 구하는 건!! 누적합!!!누적합 정말 쉬운 건데 자꾸 바로 떠오르지 않아서 매번 for문으로 합을 구해버린다. 그리고 같은 문자 n개 이어붙여 문자열 만들고 싶을 때, string 생성하는 법도 좀 알아두기.간단한 걸 비효율적으로 풀고, 거기다 오답이면 좀 CODEusing System;using System.Collections.Generic;class Program{ static void Main() { var line = Console.ReadLine().Split(); int h = int.Parse(line[0..

문제요약정점 간의 관계가 주어질 때, x 정점에서 y 정점으로 가는 시간을 구하라.근데, 정점에 연결된 정점이 두개 이상일 때, 항상 잘못된 정점으로 먼저 갔다가 돌아오는 실수를 한다. https://paiza.jp/works/mondai/bfs_dfs_problems_advanced/bfs_dfs_problems_advanced__wrong_train/edit?language_uid=c-sharp&t=81a55f22de299c6510567717a907b554난이도B Rank풀이 포인트BFS 기본약간의 응용: 차수(정점에 연결된 간선의 개수)가 2이상일 때의 로직 추가REVIEW BFS 근간 코드를 아직 외우지 못했다.1차원 탐색 문제임에도 아직 낯선 상태. 방문 배열 즉, True와 False값이 아닌..

문제요약스탬프를 이어 찍었을 때 나오는 그림을 출력하라.난이도B rank풀이 포인트 REVIEW 시간들이면 풀수 있는 문제인건 확실한데, 뇌에 힘을 주기 귀찮은 대표적인 문제.이런 문제는 대부분 어떻게 하면 되겠네. 하고 지피티를 자꾸 돌려버린다.요즘 정말 나의 힘으로 온전히 해내는 일이 없다는 생각이 드는데,완벽히 숙지할때까지 도중에 포기치 않고 해내는 근성이 필요함.. 엄청난 알고리즘적 사고가 아닌 나머지와 몫을 적절히 다뤄 좌표끼리 매핑할 수 있느냐인 문제!CODEusing System;using System.Collections.Generic;class Program{ static void Main() { var line = Console.ReadLine().Split();..

① C#의 대표 자료 구조Array : 配列List : リストLinkedListDictionary : 連想配列HashSet : ハッシュセット 중복을 허용하지 않는다.SortedSet : 중복 허용하지 않으며, 정렬된 순서로 요소 저장TupleQueuePriorityQueueStack② 동작에 따른 분류 - 삽입, 삭제, 검색, 정렬, 길이 삽입(挿入: そうにゅう, 追加: ついか)맨 뒤에 추가: List.Add() , HashSet.Add(), SortedSet.Add() void 반환List list = new List();list.Add(1); // {1}list.Add(2); // {1,2}list.Add(3); // {1,2,3}HashSet set = new HashSet();set.Add(1)..

https://school.programmers.co.kr/learn/courses/30/lessons/49191?language=csharp
원리배열 A가 정렬되어 있다고 할 때, A の真ん中の要素が k 未満であれば、A の前半分の要素もすべて k 未満であることがわかります。つまり、A の前半分について探索する必要が無くなります。A의 중앙값보다 비교할 요소가 작다면, 나머지 오른쪽 절반의 요소들 보다 작다.逆に、A の真ん中の要素が k より大きければ、A の後ろ半分の要素もすべて k より大きいので、A の後ろ半分について探索する必要が無くなります。A의 중앙값보다 비교할 요소가 크다면, 나머지 왼쪽 절반의 요소들 보다 크다.つまり、「対象とする探索範囲の中央の値」と「探索したい値」を比較することで、探索範囲を半分にすることができます。즉, 탐색 범위의 중앙 값과 탐색하고 싶은 값을 비교하며 탐색 범위를 절반으로 줄일 수 있다!Tipソート済みであること정렬되어 있어야 한다.二分探索..

문제요약뒤죽박죽 입력되는 전화번호를 하나의 형식으로 변환해라 https://exercism.org/tracks/csharp/exercises/phone-number/dig_deeper난이도Easy풀이 포인트문자열 다루기Regular expression(regex)https://exercism.org/tracks/csharp/exercises/phone-number/approaches/regular-expression Explore the 'Use a regular expression' approach for Phone Number in C# on ExercismExplore the 'Use a regular expression' approach for Phone Number in C# on Exercis..