전체 글
-
[백준 / C#] 10989 수 정렬하기 3C#/Coding Test 2024. 11. 27. 19:41
문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 나의 풀이int[] arr = new int[10001];using var reader = new System.IO.StreamReader(Console.OpenStandardInput());using var writer = new System.IO.StreamWriter(Console.OpenStandardOutput());int n = int.Parse(reader.R..
-
[백준 / C#] 11650 좌표 정렬하기C#/Coding Test 2024. 11. 18. 16:27
문제2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 나의 풀이int n = int.Parse(Console.ReadLine());List list = new List();for(int i = 0; i x.Item1).ThenBy(x => x.Item2).ToList();for(int j ..
-
[Programmers / C#] 스택/큐 다리를 지나는 트럭C#/Coding Test 2024. 11. 15. 17:19
문제 설명트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다.solution 함수의 매개변수로 다리에 올라갈 수 있는 트럭 수 bridge_length, 다리가 견딜 수 있는 무게 weight, 트럭 별 무게 truck_weights가 주어집니다. 이때 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 return 하도록 solution 함수를 완성하세요. 제한 조건bridge_length는 1 이상 10,000 이하입니다.we..
-
[Programmers / C#] 연습문제 호텔 대실C#/Coding Test 2024. 11. 14. 17:30
문제 설명호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다.예약 시각이 문자열 형태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. 제한사항1 ≤ book_time의 길이 ≤ 1,000book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다[대실 시작 시각, 대실 종료 시각] 형태입니다.시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다.예약 시각이 자정을 넘어가는 경우는 없습니다.시작 시..
-
[PostgreSQL] 문자열 자르기 - SUBSTRINGSQL 2021. 8. 27. 19:10
문자열 자르기 - SUBSTRING PostgreSQL에서 문자열의 원하는 부분을 추출하기 위해서 SUBSTRING을 사용할 수 있습니다. 먼저 PostgreSQL 튜토리얼 데이터 staff 테이블의 first_name, last_name 칼럼을 불러와 예시로 사용해 보겠습니다. select first_name, last_name from staff (1) SUBSTRING( string, start_position, length ) SUBSTRING ( string ,start_position , length ) start_position 은 문자열에서 추출하고자 하는 시작 위치로 해당 자리(start position)를 포함하여 추출된 결과를 돌려줍니다. 문자열의 자리 번호는 파이썬이 첫번째를 0으로..
-
[PostgreSQL] 데이터 타입 변환 - CAST, :: 연산자SQL 2021. 8. 26. 18:57
데이터 타입 변환 - CAST, :: 연산자 PostgreSQL에서 데이터 타입을 변환하는 방법은 두 가지가 있습니다. 첫 번째는 CAST 를 이용하는 방법이고, 두 번째는 :: 연산자를 활용하는 방법입니다. 먼저 음료 메뉴(menu)와 가격(price) 정보를 담고 있는 menu 테이블을 만들어 주겠습니다. 이때 메뉴 이름과 가격의 데이터 타입은 text로 설정했습니다. WITH menu AS ( SELECT 'Americano' AS menu, '4100' AS price UNION SELECT 'Cappuccino' AS menu, '4600' AS price UNION SELECT 'Caffe Mocha' AS menu, '5100' AS price) SELECT * FROM menu 앞서 만든 ..
-
[PostgreSQL] NULL 값 대체하기 - COALESCESQL 2021. 8. 24. 21:40
NULL 값 대체하기 - COALESCE MySQL에서 IFNULL을 이용해서 NULL 값을 대체해 줄 수 있습니다. 하지만 PostgreSQL에서는 IFNULL이 아닌 COALESCE 을 이용해 NULL 값을 다른 값으로 채워줄 수 있습니다. WITH문을 이용해서 임시로 음료의 이름과 가격에 대한 정보를 담고 있는 menu 라는 테이블을 만들어 주었습니다. Caffe Mocha의 음료값은 NULL 값으로 하였습니다. WITH menu AS ( SELECT 'Americano' AS menu, 4100 AS price UNION SELECT 'Cappuccino' AS menu, 4600 AS price UNION SELECT 'Caffe Mocha' AS menu, null AS price) SELEC..
-
[PostgreSQL] GROUPING SETS/ CUBE/ ROLLUPSQL 2021. 8. 18. 00:44
그룹화 집합을 여러개 만들기 위한 함수 GROUPING SETS / CUBE / ROLLUP GROUPING SETS group by + union all + group by + union all + group by 같이 그룹화된 각 쿼리 결과를 union을 사용해서 하나의 결과로 결합해야 할 때, 쿼리문이 길어지고 쿼리문을 각각 연산해야 하는 문제가 발생합니다. 이러한 문제를 보완하기 위해 GROUPING SETS 을 사용하면 한 번에 그룹화된 쿼리 결과 집합을 생성할 수 있습니다. SELECT c1, c2, aggregate_function(c3) FROM table_name GROUP BY GROUPING SETS ( (c1, c2), (c1), (c2), () ); Example - 국가별 고객 ..