👉🏻 11931번: 수 정렬하기 4import sys; input=sys.stdin.readlineprint(*sorted([int(input()) for _ in range(int(input()))], reverse=True), sep='\n')python에서는 아주 간단한 list 정렬 문제입니다.시간 복잡도를 더 줄이고자 한다면, 계수 정렬(Counting Sort)을 사용하시면 됩니다.단, N이 커지게 되면 오히려 힘들어질 수 있으니, 왠만한 정렬 문제는 sorted()나 sort()로 해결!
👉🏻 14696번: 딱지놀이import sys; input=sys.stdin.readlinedef compare(A, B, value): if A.count(value) != B.count(value): return 'A' if A.count(value) > B.count(value) else 'B' return Nonefor _ in range(int(input())): A = list(map(int, input().split()))[1:] B = list(map(int, input().split()))[1:] result = None for value in [4, 3, 2, 1]: result = compare(A, B, value)..
👉🏻 2909번: 캔디 구매c, k = map(int, input().split())print(int(round(c+.1, -k)))python의 round() 함수는 오사오입(banker's rounding) 방식입니다.5 미만은 버리고, 5 초과는 올리는 방식입니다.5의 경우에는 앞자리가 짝수이면 버리고, 홀수이면 올리는 방식입니다.약간의 trick인 0.1을 더하여 반올림하였습니다.
이번 카테고리에서는 TOPCIT(소프트웨어 역량검정) 시험의 첫 번째 파트이자 기술 영역인'소프트웨어 개발'에 초점을 맞추어, 소프트웨어 공학 및 여러 가지 설계 관점에서 소프트웨어를 어떻게 관리하는지에 대해 알아보도록 하겠습니다.또한 TOPCIT 시험을 위해 공부한 내용들을 정리하면서 추후에도 살펴볼 수 있도록 하고자 합니다!먼저 소프트웨어 공학에 대한 설명을 정리해보겠습니다. 소프트웨어 공학의 배경과 목적✅ 소프트웨어 공학 소개효과적인 소프트웨어 공학 기술 적용을 위해 다음 3가지 핵심 요소가 필요합니다.프로세스: 체계적인 업무 방식 및 흐름의 정의를 적용할 수 있어야 합니다.인력: 전문적인 지식을 갖춘 조직 및 사람을 구성해야 합니다.인프라 기술: 정의된 업무 방식과 조직인력이 효율적으로 운영되기 ..
이번에는 DML과 TCL에 이어 나머지 명령어인 DDL, DCL에 대해 알아보겠습니다! DDL(Data Definition Language)이란? DDL은 말 그대로 데이터 정의 언어로, 데이터베이스 스키마를 생성, 변경, 삭제하는 데 사용되는 SQL 명령어의 집합입니다. 데이터베이스의 구조를 정의하는 데 필수적인 명령어로, 테이블, 컬럼, 제약조건 등 데이터베이스 객체의 생성 및 관리에 사용됩니다. ✅ CREATECREATE 명령어는 새로운 데이터베이스, 테이블, 인덱스 등의 데이터베이스 객체를 생성하는 데 사용됩니다. 가장 기본적인 사용법은 테이블을 아래와 같이 생성하는 것입니다.CREATE TABLE 테이블명 ( 컬럼명1 데이터타입 [제약조건(DEFAULT / NULL 여부)], 컬럼명2..
이번에는 마지막 챕터인 관리 구문 중 DML, TCL에 대해 알아보겠습니다! DML(Data Manipulation Language)이란?DML은 데이터베이스에서 데이터를 조작하는 데 사용되는 언어로, 데이터를 추가, 업데이트, 삭제하는 등의 작업을 수행합니다. 주로 사용되는 DML 명령어에는 INSERT, UPDATE, DELETE, 그리고 MERGE가 있습니다. INSERT, UPDATE, DELETE의 경우에는 명령어를 실행하고 별도의 COMMIT 명령어를 실행시켜 주어야 데이터가 반영되며 ROLLBACK도 가능합니다. ✅ INSERT INSERT 명령어는 테이블에 새로운 행을 추가하는 데 사용됩니다. 기본 구조는 다음과 같습니다.INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUE..
앞선 글에서 나오지 않은 개념이나 헷갈리는 문제들을 정리하고 'SQL 활용' 챕터를 마무리하고자 합니다. ✅ 비연관 서브쿼리비연관 서브쿼리는 주로 메인쿼리에 값을 제공하기 위한 목적으로 사용됩니다. ✅ 다중 행 서브쿼리다중 행 서브쿼리 비교 연산자는 단일 행 서브쿼리의 비교 연산자로도 사용할 수 있습니다.서브쿼리의 결과가 복수 행 결과를 반환하는 경우에는 IN, ALL, ANY 등의 복수 행 비교 연산자와 사용하여야 합니다.그래서 다중 행 서브쿼리는 일반적으로 = 조건과 함께 쓰일 수 없습니다.그러나, ROWNUM 조건절로 인해 단일 행 서브쿼리로 변환이 된다면 = 조건과 함께 쓰여도 무방합니다. ✅ 뷰(View)실제 데이터를 저장하고 있는 뷰를 생성하는 기능을 지원하는 DBMS도 존재합니다. ✅ 집합 ..
이번에는 Top-N 쿼리, 셀프 조인, 그리고 계층 쿼리에 대해 알아봅시다. Top-N 쿼리란?Top-N 쿼리는 특정 조건에 맞는 상위 N개의 결과를 추출하는 쿼리 기법입니다. ✅ ROWNUM ROWNUM은 Oracle에서 조회된 결과의 행에 순차적으로 번호를 부여하는 가상 컬럼입니다. ROWNUM은 항상 이나 으로 사용해야 합니다.Top-N 쿼리를 작성할 때 주의해야 할 사항은 ORDER BY 절이 WHERE 절보다 나중에 수행되기 때문에 ROWNUM으로 순서를 지정할 때에는 ORDER BY 절 바깥에서 해야 한다는 점입니다. ✅ 윈도우 함수의 순위 함수윈도우 함수를 사용한 Top-N 쿼리는 더 유연하며, 복잡한 조건에 대해 상위 N개의 결과를 추출할 수 있습니다. 특히 ROW_NUMBER, RANK,..