코테준비 5

[1333] 부재중 전화(C#)

문제 이해하는데 좀 걸렸다. (어휘력을 길러야될 것 같음....😒 책 읽어야 돼 책) 결과적으로는 단순풀이법으로 아래와 같이 풀이를 했는데. 이 때 while 구문에서 if로 풀이하면 안 된다. 아래와 같은 Testcase의 경우에는 fail이 나기 때문. "1곡 재생, 한 곡당 7초 길이, 2초마다 벨이 울릴 경우" 알고리즘 : 단순 구현, 시뮬레이션 string[] NLD = Console.ReadLine().Split(' '); int N = int.Parse(NLD[0]); int L = int.Parse(NLD[1]); int D = int.Parse(NLD[2]); // 침묵의 구간 int[] fadeRange = { L, L + 5 }; // 벨이 울리는 시간(초) int secOfLastR..

[10989] 수 정렬하기3(C#)

10,000보다 작거나 같은 수를 최대 천만번 input을 받아서 정렬하는 문제로 Sorting과 관련한 내장함수로는 통과 조건을 만족할 수 없다. 천만번 input을 받는 대신에 그 값의 범위가 좁은 편이기 때문에 이럴때는 계수정렬 알고리즘을 활용한다. 계수정렬(Counting Sort)? 배열의 인덱스를 특정한 데이터의 값으로 여기는 정렬 방법 배열의 크기는 데이터의 범위를 포함할 수 있도록 설정하고 각 배열의 값으로는 데이터가 등장한 횟수를 세어 입력 시간복잡도 : O(N) int N = int.Parse(Console.ReadLine()); int[] arrInt = new int[10001]; for (int i = 0; i < N; i++) { int intThisInput = int.Pars..

[18014] 나이순 정렬(C#)

단순 Sorting방식으로만 정렬해봤다면 고개를 갸우뚱 할 수 있는 문제. 제한시간 : 15mins 시간복잡도 : O(NlogN) var varN = Console.ReadLine(); int intN = varN == null ? 0 : int.Parse(varN); // Map형식으로 접근 시 input에서 키중복이 있을 수 있으니까, Tuple로 접근한다. List tList = new List(); for (int i = 0; i < intN; i++) { var vartmp = Console.ReadLine(); string strTmp = vartmp == null ? "" : vartmp; string[] arrstrTmp = strTmp.Split(' '); // 아래와 같이 Tuple.C..

[2750] 수 정렬하기(C#)

정렬 문제 중 가장 기본. 소요시간 : 8mins 30secs 시간복잡도 : O(NlogN) 나는 List의 기본 내장함수인 Sort()를 사용했기 때문에 시간복잡도 O(NlogN)을 가지지만, 중첩 for문을 활용하여 선택정렬로 구현할 경우 O(N^2)의 시간복잡도를 가지게 된다. var varN = Console.ReadLine(); int intN = varN == null ? 0 : int.Parse(varN); List intList = new List(); for (int i = 0; i < intN; i++) { var varTmp = Console.ReadLine(); int intTmp = varTmp == null ? 0 : int.Parse(varTmp); intList.Add(int..

728x90
반응형