전체 글 40

Programmers 문제 풀이

Programmers 카카오, 네이버, 라인 등 많은 회사의 코딩테스트를 담당하는 프로그래머스의 UI에 익숙해지기 위해 문제를 풀어보자 사이트 링크 현재 프로필(2020-12-09) 목차 Level 1 Level 2 Level 3 Level 4 Level 1 기본적인 반복문, 수식 사용법을 활용한 문제 풀이 바로가기 Level 2 해시, 힙, 정렬, 그래프 탐색등 기본적인 알고리즘 활용 바로가기 Level 3 기업 코딩테스트를 통과하기 위해 바로가기 Level 4 고득점을 위하여! 바로가기

PS/programmers 2020.12.09

Codeforces Global Round 12

Codeforces Global Round 12 목차 A Avoid Trygub B Balls of Steel A Avoid Trygub 문제 링크 입력의 문자열에는 avoidtrygub이 숨어있다. avoidtrygub을 찾을 수 없도록 문자열을 섞어주어야한다. 풀이 for _ in range(int(input())): N = int(input()) word = input() for i in range(len(word)): if word[i] == 'b': word = 'b' + word[:i] + word[i+1:] print(word) 단순하게 문자열에서 b 를 찾아 모두 문자열 가장 앞으로 옮겨주어 해결하였다. 이렇게 하면 항상 avoidtrygu 까지만 완성되어 av..

PS/codeforces 2020.12.07

Codeforces Round #688 (Div. 2)

Codeforces Round #688 (Div. 2) 어리굴젓을 먹었다가 노로 바이러스로 인한 식중독 때문에 참여하지 못할뻔 했다. 그래도 한문제만 풀어서 감점은 당하지 말자는 생각으로 스마트폰으로 참여했는데 두문제를 풀어 점수도 생각보다 많이 올랐다! 디버깅을 해볼 수 없고 코드를 보기도 불편해 자잘한 에러가 많이났고 감점도 많이 당했지만 만족스러운 결과였다. 목차 A Cancel the Trains B Suffix Operations A Cancel the Trains 문제 링크 두 줄에 걸쳐 왼쪽에서 출발하는 열차, 아래에서 출발하는 열차의 플렛폼 번호가 입력으로 들어온다. 이 때 겹치는 플렛폼 번호의 갯수를 구하면 되는 문제였다. 풀이 for _ in range(int(input())): N, ..

PS/codeforces 2020.12.05

운영 체제의 예

운영 체제의 예 유닉스(UNIX) 초창기에 대형 컴퓨터를 위해 만들어진 운영 체제 멀티 작업(Multi tasking), 다중 사용자(Multi user) 지원 어셈블리어 밖에 없던 시절 코드가 복잡해지고 어려워 새로운 프로그래밍 언어를 개발 -> C언어의 시작 코드의 대부분을 C언어로 작성 높은 이식성 소스 코드 공개 프로그램 개발에 용이 최소한의 커널 구조 확장성이 높음 다양한 버전 System V, FreeBSD, SunOS, Solaris Linux 공개 소프트웨어 방식, 소스 코드가 공개 되어있고 지금도 많이 사용되고 있다. 안드로이드도 운영 체제 커널에 사용하고 있음 DOS(Disk Operating System) 개인용 컴퓨터를 위해 만들어진 운영 체제 단일 작업(Single tasking)..

혼동하기 쉬운 Multi-

혼동하기 쉬운 Multi- 공부를 하다보면 Multi로 시작하는 여러 용어들을 접한다. 서로 유사한 특성과 명칭 때문에 헷갈리기 쉬운 용어들을 정리하고 지나가자. 아래의 용어들은 비슷한 의미로 사용된다. Multitasking 여러작업이 동시에 실행되는 것을 뜻하는 일반적인 용어 Multiprogramming 메모리에 여러 프로그램이 동시에 올라가 있을 때 Time sharing CPU의 시간을 분할하여 나누어 쓸 때 Multiprocess 여러 프로그램이 동시에 실행될 때 Multiprocessor는 위의 용어들과는 명확한 차이가 있다. Multiprocessor 하나의 컴퓨터에 CPU (processor)가 여러 개 붙어 있음을 의미 위의 다른 용어들은 CPU의 개수에 상관없이 여러작업을 동시에 실행..

운영 체제의 분류

운영 체제의 분류 동시 작업 가능 여부 단일 작업(Single tasking) 한 번에 하나의 작업만 처리 예) MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음 다중 작업(Multi tasking) 동시에 두 개 이상의 작업 처리 예) UNIX, MS Windows 등에서는 한 명령어의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음 사용자의 수 단일 사용자(Single user) ​ 예) MS-DOS, MS Windows 다중 사용자(Multi user) ​ 예) UNIX, NT server 처리방식 일괄 처리(Batch processing) 작업 요청이 일정량 모일 때까지 기다렸다가 한번에 처리 작업이 모두 종료될 때까지 기다려야 한다. 예) 초..

(Python) 단계별로 풀어보기 - 수학 1

수학 1 분명 난이도는 낮은데 나한텐 너무 어렵다 역시 수학은 나랑 안맞아... 목차 손익분기점 설탕 배달 벌집 분수찾기 달팽이는 올라가고 싶다 ACM 호텔 부녀회장이 될테야 Fly me to the Alpha Centauri 손익분기점 난이도 : Bronze IV 문제 링크 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. 풀이 import math A, B, C = map(int, input().split()) if B >= C: print(-1) else: print(math.trunc(A/(C - B)) + 1) math 모듈의 ceil()를 사용해 올림, trunc() 를 사용해 내림을 할 수 있다. 처음으로 이익이 나는 때를 찾..

PS/baekjoon 2020.12.02

(Python) 단계별로 풀어보기 - 문자열

문자열 Python의 장점! 하면 항상 들어가는 것 중 하나가 문자열 처리가 쉽다이다. Python에서 문자열의 처리를 배워보자 목차 아스키 코드 숫자의 합 알파벳 찾기 문자열 반복 단어 공부 단어의 개수 상수 다이얼 크로아티아 알파벳 그룹 단어 체커 아스키 코드 난이도 Bronze V 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 풀이 print(ord(input())) ord()를 사용하면 해당 문자를 아스키 코드로 변환해준다. 숫자의 합 난이도 Bronze II 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을..

PS/baekjoon 2020.12.02

Operating System

Operating System 반효경 교수님의 강의를 들으며 공부한 내용을 정리해둔 자료입니다. KOCW 강의 링크 목차 운영체제란 무엇인가 운영체제란 무엇인가 운영체제란(Operating System, OS)란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자와 다른 모든 소프트웨어들을 하드웨어와 연결해주는 소프트웨어 개층 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해준다. 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 해준다. 컴퓨터 시스템의 자원을 효율적으로 관리 프로세서, 기억장치, 입출력 장치 등의 효율적 관리