전체보기

🥇코딩테스트:Algorithm

[백준 1406번-파이썬]에디터

백준 (BOJ) 1406번 https://www.acmicpc.net/problem/1406 사용언어 : PYTHON 1.문제 2.풀이 시간복잡도를 고려해야하는 문제였다. 처음에는 현재 커서의 위치를 저장하는 cursor변수와, 리스트의 insert, del 메소드를 사용했는데 이렇게 하니 시간초과가 발생했다. 두 메소드의 시간복잡도가 O(n)이고, 이것을 m번 반복하기 때문이었다. 이 시간초과 문제를 해결하기 위해선 시간복잡도가 O(1)인 pop()과 append()연산을 사용해야 했다. 그리고 cusor변수를 두 개의 리스트를 사용해서 구현할 수 있었다. 커서를 기준으로 리스트 st와 tmp_st로 나누었다. 커서를 왼쪽으로 옮기면 st에서 pop()하여 tmp_st에 append(), 커서를 오른쪽..

🥇코딩테스트:Algorithm

[백준 18870번-파이썬]좌표압축

백준 (BOJ) 18870번 https://www.acmicpc.net/problem/18870 사용언어 : PYTHON 1.문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 즉 [2,10,15,1,1] 라는 데이터가 있으면 값의 대소관계만 고려한 데이터로 변환하라는 것이다. (위 예시의 정답 : [1,2,3,0,0]) 2.풀이 각 원소의 중복을 제거하고 정렬 한 다음, 각 값에 0부터 순서를 부여하면 된다. 처음..

🖥️컴퓨터과학:CS

[운영체제]4장-프로그램의 구조와 실행

1. 프로그램의 구조와 인터럽트 프로그램이 cpu에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 한다. 프로그램의 주소 영역 : 코드(code), 데이터(data), 스택(stack) 영역으로 구분됨 코드(code) : 작성한 프로그램 함수들의 코드가 cpu에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 부분 데이터(data) : 전역 변수 등 프로그램이 사용하는 데이터를 저장하는 부분 스택(stack) : 함수가 호출될 떄 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시로 저장하는 데에 사용되는 공간 ex) X라는 함수 수행 중 Y라는 함수를 호출한 상황 프로그램은 X함수에서 Y함수를 호출한 지점을 스택에 저장해놓았다가 Y 함수가 수행된 후 ..

🖥️컴퓨터과학:CS

[운영체제]3장-컴퓨터 시스템의 동작 원리

1. 컴퓨터 시스템의 구조 컴퓨터 시스템 구조 = 내부장치(CPU, 메모리) + 외부장치(디스크, 키보드, 마우스, 모니터, 네트워크) 컨트롤러(일종의 작은 CPU) : 메모리 및 입출력장치 등 각 하드웨어 장치에 붙어있으면서 이들을 제어 어떤 프로그램이 수행되려면 그 프로그램은 메모리에 올라가 있어야 한다. 운영체제 중 항상 메모리에 올라가 있는 부분을 커널(전체 운영체제 중 핵심적인 부분) 이라고 한다. 2. CPU연산과 I/O 연산 입출력 장치들의 I/O연산 : 입출력 컨트롤러가 담당 컴퓨터 내에서 수행되는 연산 : 메인 CPU가 담당 👉 입출력 장치와 메인 CPU는 동시에 수행이 가능하다. 로컬버퍼 : 컨트롤러가 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위해 가지고 있는 작은 메모리 인..

🖥️컴퓨터과학:CS

[운영체제]2장-운영체제 개요

운영체제의 정의 운영체제란 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결해주는 소프트웨어 계층이다. 협의의 운영체제(커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 광의의 운영체제 : 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영체제의 기능 ⭐컴퓨터 시스템의 자원을 효율적 (+ 형평성) 으로 관리⭐ : hw자원(프로세서, 기억장치, 입출력 장치), sw자원(프로세스, 파일, 메시지) 의 주어진 자원으로 최대한의 성능을 내도록 관리 + 사용자 및 프로그램들 간 형평성 있는 자원 분배 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 : 운영체제는 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 : 하드웨어..

🖥️컴퓨터과학:CS

[운영체제]1장-컴퓨터 및 정보기술의 역사

컴퓨터의 선사시대 컴퓨터의 이론적인 기원은 수학과 논리학에 기초한다. 컴퓨터가 존재하지 않던 시대에 이미 컴퓨터에 관한 연구와 높은 수준의 결과가 있었고, 이러한 연구를 토대로 현재 컴퓨터가 만들어지게 되었다. 컴퓨터는 계산을 빠르게 하기 위해서 개발되었으며 기계식 컴퓨터 -> 전자식 컴퓨터 순서로 발전했다. 근대적 컴퓨터의 역사 💻1세대 컴퓨터 1세대 컴퓨터는 진공관 기반의 컴퓨터로서, 건물 하나의 공간을 가득 차지할 만큼 부피가 크고 가격이 비쌌다. 이러한 이유로 기상청이나 은행, 정부기관 등 큰 공공기관에서만 컴퓨터를 사용할 수 있었다. 💻2세대 컴퓨터 미국의 벨(Bell) 연구소에서 트랜지스터를 발명하였고, 이런 트랜지스터를 활용해 컴퓨터(2세대 컴퓨터)를 개발하게 되었다. 2세대 컴퓨터는 1세대..

👨‍💻프로젝트:Project

forURtravel

여행객들을 위한 웹서비스 시연영상 제작동기 프로젝트 이름과 같이 For your travel (당신의 여행을 위한) 웹 서비스를 제작하고자 하였습니다. 여행객들이 저희 서비스를 통해 관광지 정보와 다른 사용자들의 여행후기를 참고하여 성공적인 여행계획을 완성하는데 도움을 받을 수 있습니다. 사용기술 Vue.js vuex vuex-persistedstate axios vue-router vue-wordcloud jwt-decode SpringBoot myBatis jjwt spring-boot-starter-mail MySql 구현기능 사용자 프로필 팔로우, 팔로잉 로그인, 로그아웃, 회원가입 (jwt) 게시판 CRUD, 댓글 CRUD 회원정보 수정 1. 로그인, 로그아웃, 회원가입 (jwt, vuex, v..

🥇코딩테스트:Algorithm

[백준 2108번-파이썬]통계학

백준 (BOJ) 11729번 https://www.acmicpc.net/problem/2108 사용언어 : PYTHON 1.문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 2.풀이 최빈값을 구하는 것이 문제였는데, 파이썬의 내장 함수인 Collection모듈의 Counter을 사용하여 해결..

mc.thd
'분류 전체보기' 카테고리의 글 목록 (12 Page)