728x90
반응형

분류 전체보기 104

[알고리즘] 시간 복잡도 (Time Complexity)

시간 복잡도 (Time Complexity) 문제를 해결하기 위한 알고리즘의 로직을 코드로 구현할 때, 입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼만큼 걸리는가? 즉, 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간을 의미한다. 효율적인 알고리즘이란, 입력값이 커짐에 따라 증가하는 시간의 비율을 최소화한 알고리즘 을 구성했다는 것이다. 시간 복잡도는 주로 빅-오 표기법(Big-O)을 사용해 나타낸다. 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 유형 시간 복잡도는 3가지 경우로 나타낸다. 최선의 경우 (Best Case) Big-Ω (빅-오메가) 빅 오메가 표기법 사용 최선의 시나리오로 최소 이만한 시간이 걸림 최악의 경우 (Wor..

Algorithm 2023.08.14

[백준] 21758 꿀 따기 (파이썬)

골드 Ⅴ https://www.acmicpc.net/problem/21758 21758번: 꿀 따기 첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다. www.acmicpc.net 📄 문제 N개의 장소가 있다. 장소들 중 서로 다른 두 곳을 골라서 벌을 한 마리씩 둔다. 또, 다른 한 장소를 골라서 벌통을 둔다 두 마리 벌은 벌통으로 똑바로 날아가면서 지나가는 모든 칸에서 꿀을 딴다. 각 장소에 적힌 숫자는 벌이 지나가면서 꿀을 딸 수 있는 양이다. 두 마리가 모두 지나간 장소에서는 두 마리 모두 표시된 양만큼의 꿀을 딴다. (벌통이 있는 장소에서도 같다.) 벌이 시작한 장소에서는 어떤 벌도 꿀을 딸 수 없다. 벌들이 딸 수 있는 가능한 최대의 꿀의 양을 계산하는 프로그램을 작성하라. 💡 아이디어 그리디 ..

[백준] 1261 알고스팟 (파이썬)

골드 Ⅳ https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 📄 문제 미로는 N*M 크기이며, 총 1*1 크기의 방으로 이루어져 있다. 미로는 빈 방 또는 벽으로 이루어져 있고, 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없다. 어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방이다. 즉, 현재 운영진이 (x, y)에 있을 때, 이동할 수 있는 방은 (x+1, y), (x, y+1), (x-1, ..

[소프티어] [인증평가(5차) 기출] 업무 처리 (파이썬) (2)

난이도 : ★★★☆☆ https://softeer.ai/practice/info.do?idx=1&eid=1256&sw_prbl_sbms_sn=245958 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 📄 문제 어떤 부서의 업무 조직은 완전이진트리 모양이다. 모든 말단 직원은 부서장까지 올라가는 거리가 동일하다. (포화이진트리) 말단 직원들만 각각 K개의 순서가 정해진 업무를 가지고 있다. 대기하는 업무가 있는 경우, 직원들은 업무가 올라온 순서대로 하나 처리해서 상사에게 올린다. 단, 홀수 번째 날짜에는 왼쪽 부하 직원이 올린 업무를, 짝수 번째 날짜에는 오른쪽 부하 직원이 올린 업무를 처리한다. 부서장이 처리한 일은 완료된 것이다. 업무는 R일 동안 진행되며 업무를..

[소프티어] [인증평가(5차) 기출] 업무 처리 (파이썬) (1)

난이도 : ★★★☆☆ https://softeer.ai/practice/info.do?idx=1&eid=1256&sw_prbl_sbms_sn=245958 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 📄 문제 어떤 부서의 업무 조직은 완전이진트리 모양이다. 모든 말단 직원은 부서장까지 올라가는 거리가 동일하다. (포화이진트리) 말단 직원들만 각각 K개의 순서가 정해진 업무를 가지고 있다. 대기하는 업무가 있는 경우, 직원들은 업무가 올라온 순서대로 하나 처리해서 상사에게 올린다. 단, 홀수 번째 날짜에는 왼쪽 부하 직원이 올린 업무를, 짝수 번째 날짜에는 오른쪽 부하 직원이 올린 업무를 처리한다. 부서장이 처리한 일은 완료된 것이다. 업무는 R일 동안 진행되며 업무를..

[백준] 1238 파티 (파이썬)

골드 Ⅲ https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 📄 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. N명의 학생이 X (1 ≤ X ≤ N) 번 마을에 모여서 파티를 벌이기로 했다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다. 이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길..

[SQL] SQL의 개념과 종류

SQL의 개념 Structured Query Language의 약자로서, 구조화된 질의 언어이다. 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수한 목적의 프로그래밍 언어 관계형 데이터베이스 관리 시스템(RDBMS)을 사용할 때 해당 시스템의 데이터를 정의하고, 조작하고, 제어할 목적으로 만들어진 프로그래밍 언어이다. SQL 문법은 는 크게 DDL, DML, DCL 세 가지 종류로 구분될 수 있다. 데이터 정의어 (DDL, Data Definition Language) 대상 : 데이터베이스 객체 (테이블, 뷰, 시퀀스 제약조건 등) 데이터 정의 언어로 풀어 말할 수 있으며 스키마를 정의하거나 조작하기 위해 사용한다. 데이터 조작어 (DML, Data Manipulatio..

Programming/SQL 2023.08.05

[자료구조] 스택(Stack)과 큐(Queue)

스택 (Stack) 이란? 스택(Stack)은 쌓아 올린다는 것을 의미한다. 따라서, 스택(Stack)은 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료구조를 의미한다. 즉, 후입선출(LIFO, Last In First Out) 방식의 자료구조이다. 스택의 특징 스택은 시간 순서에 따라 데이터가 쌓이게 되므로, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제된다. 위의 그림과 같이 아래에서 위로 쌓이는 형식이다. 가장 최근(마지막)에 들어온 자료를 top이라고 부른다. 스택 내부의 데이터는, top 을 통해서만 접근할 수 있다. 삽입과 삭제는 한 곳(top)에서만 이루어지게 된다. 가장 위쪽(최신)의 데이터부터 꺼낼 수 있다. 후입선출(LIFO, Last In First Out)의 구조 데이터를 삽입할 ..

CS/Data Structure 2023.08.04

[소프티어] [인증평가(1차) 기출] 로봇이 지나간 경로 (파이썬)

난이도 : ★★★☆☆ https://softeer.ai/practice/info.do?idx=1&eid=577 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 📄 문제 로봇은 오른쪽(동), 왼쪽(서), 아래(남), 위(북) 중 한 방향을 바라본다. L: 로봇이 왼쪽으로 90도 회전하며, 이에 따라 바라보는 방향이 바뀐다. R: 로봇이 오른쪽으로 90도 회전하며, 이에 따라 바라보는 방향이 바뀐다. A: 로봇이 바라보는 방향으로 두 칸 전진한다. ★로봇이 같은 칸을 두 번 이상 방문하지 않도록 명령한다. 방문했다면 '#'이고, 방문하지 않았다면 '.'로 표시한다. 로봇이 지도에 사수가 표시한 모든 칸들만을 방문하여 아래 정보를 계산해 주는 프로그램을 작성하려고 한다. 처..

[백준] 14500 테트로미노 (파이썬)

골드 Ⅳ https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 📄 문제 크기가 N×M인 종이 위에 테트로미노 ★하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 5가지가 모양이 있다. 테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며, 회전이나 대칭을 시켜도 된다. 테트로미노 하나를 적절히 놓아서 테트로미..

728x90
반응형