코딩공부 189

[프로그래머스]Lv.2 두 큐 합 같게 만들기 C#

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 using System; using System.Collections.Generic; using System.Linq; public class Solution { public int solution(int[] queue1, int[] queue2) { int answer = 0; Queue q1 = new Queue(queue1.Select(s => (long)s)); Queue q2 ..

[프로그래머스]Lv.2 할인 행사 C#

https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 using System; using System.Collections.Generic; public class Solution { public int solution(string[] want, int[] number, string[] discount) { int answer = 0; Dictionary dicWant = new Dictionary(); Dictionary dic = new..

※[프로그래머스]Lv.2 롤케이크 자르기C# (순차적으로 줄여나가기)

https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 using System; using System.Collections.Generic; public class Solution { public int solution(int[] topping) { int answer = 0; Dictionary dicL = new Dictionary(); Dictionary dicR = new Dictionary(); foreach (int i in to..

※[프로그래머스]Lv.2 귤 고르기C# (Dictionary.TryAdd 중복 카운터)

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드1 using System; using System.Collections.Generic; using System.Linq; public class Solution { public int solution(int k, int[] tangerine) { int answer = 0; var distinct = tangerine.GroupBy(g => g).Select(s => s.Count())..

※[프로그래머스]Lv.2 숫자 변환하기 C# (Hashset)

https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 using System; using System.Collections.Generic; public class Solution { public int solution(int x, int y, int n) { int answer = 0; List targets = new List { x }; List results = new List(); HashSet sames = new HashSet(..

※[프로그래머스]Lv.2 뒤에 있는 큰 수 찾기 C# (시간복잡도오류, 스택)

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 뒤에있는 숫자를 구할 때는 스택을 사용하는게 편리하다. using System; using System.Collections.Generic; using System.Linq; public class Solution { public int[] solution(int[] numbers) { int[] answer = new int[numbers.Length]; Array.Fill(answe..

[프로그래머스]Lv.2 무인도 여행 C#(BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 using System; using System.Collections.Generic; public class Solution { bool[,] found; public int[] solution(string[] maps) { found = new bool[maps.Length, maps[0].Length]; List answer = new List(); for (int i = 0; i ..

※[프로그래머스]Lv.2 호텔 대실 C#

https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 시간을 다루는 예약 같은 경우 orderby를 통해 시간순으로 정렬하여 끝시간과 첫 시간만 비교한다. using System; using System.Collections.Generic; using System.Linq; public class Solution { public int solution(string[,] book_time) { var roomList = new List();..

[자료구조] 힙트리와 이진트리 개념 및 우선순위큐 구현 C#

이진트리는 한 노드에 2개의 노드를 가지고 있는 트리로 외쪽으로 갈수록 값이 현재 값보다 작아지며 오른쪽으로 갈수록 현재 값보다 커진다. 이진검색트리 이진트리는 점점 직전보다 큰 값을 추가한다면 오른쪽으로 추가만 되기 때문에 오른쪽 왼쪽의 균형이 깨질 수 있다. 그래서 이진 검색 트리는 주기적으로 재배치를 통해 균형을 유지해야한다.(AVL, Red-Black) 힙트리 힙트리는 부모노드가 가진 값은 항상 자식 노드가 가진 값보다 크다. 마지막 레벨을 제외한 모든 레벨에 노드가 모두 차있어야 한다. 마지막 레벨에 노드가 있을 떄는 항상 왼쪽부터 순서대로 채워야 한다. 노드 개수를 알면 트리구조는 무조건 확정할 수 있다. 자식 노드 구하는 공식 i번 노드 왼쪽 자식 [(2*i) + 1] i번 노드 오른쪽 자식..

[자료구조] 트리개념 및 구현 C#

트리는 그래프와다르게 데이터가 동적으로 무수하게 바뀔 때 적합하다. 그렇기 때문에 실제 노드를 만들어 연결해주는 방식으로 사용된다. 트리는 재귀함수와 매우 밀접하다. 트리구현 class TreeNode { public T Data { get; set; } public List Children { get; set; } = new List(); } class Program { static TreeNode MakeTree() { TreeNode root = new TreeNode() { Data = "R1개발실" }; { { TreeNode node = new TreeNode() { Data = "디자인팀" }; node.Children.Add(new TreeNode() { Data = "전투" }); nod..