본문 바로가기

분류 전체보기

(386)
[pro] 프로그래머스 level3 17676 추석 트래픽 (Java) [문제] https://school.programmers.co.kr/learn/courses/30/lessons/17676 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 처리시간이 SS.sss 형태이므로 1000을 곱해 ms 단위로 계산한다. 1초 동안의 처리된 요청을 카운트해야 하는데 처리량이 변하는 경우는 새로운 트래픽이 시작하거나 끝나는 경우이다. 따라서 각 요청에 대해서 트래픽이 시작한 지점을 기준으로 1초, 끝난 지점을 기준으로 1초 요청량을 카운트한 뒤 최대 처리량을 반환하도록 했다. [코드] import java.util.*; cla..
[pro] 프로그래머스 level3 17678 셔틀버스 (Java) - 우선순위 큐 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 계산하기 편하도록 도착시각을 모두 분으로 변환하여 우선순위 큐에 넣는다. n번의 셔틀 운행에 대하여 크루가 셔틀 출발 시각 이전에 도착 및 버스 탑승 인원이 남아 탑승가능하다면 탑승시킨다. 이때 탑승한 크루가 마지막 탑승 크루일 수 있으므로 정답을 크루탑승시각-1 로 갱신해준다. 만약 마지막 버스에 자리가 남아있다면 그 버스의 출발시각이 가능한 가장 늦은 도착 시각이 된다. [코..
[운영체제] 12. Disk Management and Scheduling 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Disk Structure and Management Disk Structure Logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들 주소를 가진 1차원 배열처럼 취급 정보를 전송하는 최소 단위 Sector Logical block이 물리적인 디스크에 매핑된 위치 Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫 번째 섹터 Disk Management Physical formatting(Low-level formatting) 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정 각 섹터는 header+실제 data(보통 512bytes)+trailer로 구성 header와 trailer는..
[pro] 프로그래머스 level3 42893 매칭 점수 (Java) - 문자열, 정규식 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42893 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 정규식을 이용해서 풀 수 있다. 1) word가 나오는 횟수를 계산해서 기본 점수를 구한다. 이때 주의할 점은 찾은 word 앞, 뒤로 다른 문자가 있으면 안된다. 2) 페이지별 외부 링크 개수를 계산한다. 3) 정규식을 이용하여 링크 점수를 계산한다. Page 별로 url을 파싱해서 저장해놓는데, () 로 묶어서 group화 할 수 있다. 전체 pattern에 일치하는 문자열을..
[운영체제] 11. File System Implementation 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. Allocation of File Data in Disk Contiguous Allocation 단점 External fragmentation File grow가 어려움 파일 생성 시 얼마나 큰 hole을 배당할 것인가? grow 가능 v.s. 낭비(hole을 크게 배당했는데 grow를 안하는 경우 - internal fragmentation 발생, 공간 낭비) 장점 Fast I/O 한번의 seek/rotation으로 많은 바이트 transfer 가능 (데이터가 연속으로 있어서) Realtime file용(빠른 I/O가 필요)으로, 또는 이미 run 중이었던 process의 swapping 용(영구저장을 할 필요가 없는 임시..
[운영체제] 10. File Systems 더보기 kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다. 1. File and File System File "A named collection of related information" 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 Operation: create, read, wrtie, reposition(iseek), delete, open, close 등 Metadata(=File attribute) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한(read/write/execute), 시간(생성/변경/사용), 소유자 등 File Sy..
[pro] 프로그래머스 level3 60063 블록 이동하기 (Java) - BFS, 시뮬레이션 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 구현이 복잡해진 BFS 문제이다. (N, N)에 도착하는 최단 거리를 반환하는 문제이기 때문에 BFS를 이용해서 풀었다. 고려해야 하는 점은 visited 배열을 3차원으로 선언하여 방문한 상태가 수직, 수평인 경우를 분리해줘야 한다는 것이다. 또한 회전하는 경우 역시 수직인 상태에서 회전하는 경우와 수평인 상태에서 회전하는 경우로 나누어 q에 넣어주었다. 수직인 상태에서 회전한..
[pro] 프로그래머스 level3 42892 길 찾기 게임 (Java) - 이진트리 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42892 [풀이] 직접 이진트리를 구성한 뒤, preorder과 postorder를 돌리면 된다. [코드] import java.util.*; class Solution { int idx; public int[][] solution(int[][] nodeinfo) { int[][] answer = {}; //전위 순회, 후위 순회한 결과를 2차원 배열에 순서대로 담아 return Node[] nodes = new Node[nodeinfo.length]; for(int i=0; i