분류 전체보기 607

[프로그래머스] 괄호 회전하기

# deque를 가져와서 rotate를 사용함으로 회전을 편하게 할 수 있었음. from collections import deque def solution(s): l_s = len(s) if l_s%2: return 0 q, cnt = deque(s), 0 for _ in range(l_s): flag, stack = True, [] for i in range(l_s): if q[i] in ['[', '{', '(']: stack = stack + [q[i]] else: if stack == []: flag = False break else: if (stack[-1] == '[' and q[i] == ']') or (stack[-1] == '{' and q[i] == '}') or (stack[-1] ..

알고리즘 2023.06.15

[프로그래머스] N개의 최소공배수

# 유클리드 호제법을 활용한 풀이 # 해당 문제에서 import math로 사용한 lcm을 사용할 수 없었다. 왜지..? def gcd(x,y): while y: x,y = y, x%y return x def lcm(x,y): return (x*y)//gcd(x,y) def solution(arr): result = 0 for i in arr: if result == 0: result = i else: result = lcm(result, i) return result # import math로 사용한 풀이 def solution(arr): result = 0 for i in arr: if result == 0: result = i else: result = math.lcm(result, i) retur..

알고리즘 2023.06.13

[운영체제] 운영체제 개요

운영체제 개요 운영체제의 역할 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 사용자가 컴퓨터의 하드웨어(CPU, 메모리 등)를 어떻게 관리하는 지 몰라도 편하게 사용할 수 있도록 하드웨어를 관리하며 사용자에게 편리한 인터페이스를 제공 한 대의 컴퓨터에서 여러 프로그램이 실행 되더라도, 프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상(illusion)을 제공 ex) 음악을 들으면서 게임을 하고, 인터넷 창으로는 뉴스를 읽는 경험 컴퓨터 시스템의 **자원을 효율적으로 관리 (자원: CPU, 메모리, I/O(입출력) 장치 등)** 효율성 : 주어진 자원으로 최대한의 성능을 내도록 어떤 방법으로? 메모리는 CPU의 작업 공간인데, 프로그램이 ..

CS스터디 2023.06.07