Posts

스트링 디코드 문제에서 망하고, 43분 후 복수에 성공한 이야기 (feat. 중첩 괄호도 처리함)

## 🔧 배경 얼마 전 기술 면접을 보다가 `decodeString` 문제를 받았습니다. 알고리즘 공부는 주로 BFS, DFS 쪽만 하던 터라, 문자열 파싱 문제에서 완전히 발목 잡혔습니다. 거기다 라이브 코딩. 제한 시간 30분. 당연히… 못 풀었죠. 멘탈까지 디코딩당한 날이었습니다. --- ## 🔥 복수의 시작 면접이 끝난 뒤에도 이 문제는 계속 머릿속을 맴돌았습니다. “내가 이걸 못 풀었다고? 진짜?” 그 순간부터 **마음속의 디버거**가 켜졌고, 라이브 코딩에서 시도했던 방식에서 출발해 다시 파기 시작했습니다. 스택도 쓰지 않았습니다. 재귀도 쓰지 않았습니다. 그냥 제 방식대로, 끈질기게 문자열을 조작하면서 풀었습니다. **걸린 시간: 추가 43분.** --- ## 🧠 접근 방식 요약 - `[`와 `]`를 찾는다. 가장 안쪽 괄호부터 시작. - 그 안의 문자열을 꺼내고, 반복 횟수를 계산한다. - 원래 문자열 배열을 `splice`로 조작해서 새로운 문자열을 삽입한다. - 그리고… **처음부터 다시 돌린다.** - 이걸 괄호가 다 없어질 때까지 반복한다. 사실상 **재귀를 흉내 내는 루프 기반 수동 파서**입니다. --- ## ✅ 최종 코드 (with 주석) ```javascript /** * @param {string} s * @return {string} */ var decodeString = function(s) { const strArr = s.split(''); let startIndex = -1; let endIndex = -1; for(let i = 0; i = 0 && endIndex >= 0 && endIndex > startIndex){ const addedStr = strArr.slice(startIndex + 1, endIndex).join(''); ...

Operating System Concepts 9th

Image
1.1 In a multi-programming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. a. What are two such problems? 저장장소나 메모리 자원 등의 공유로 인해 데이터의 보안이 약할 수 있다. 다른 유저의 데이터를 훔치거나 복사할 수 있다. b. Can we ensure the same degree of security in a time-shared machine as in a dedicated machine? Explain your answer. 특수 목적으로 사용이 허가된 한정된 인원이 사용하는 전용 컴퓨터(군사 목적의 워크스테이션 등)에 비해서 범용 컴퓨터(도서관의 프린터용 컴퓨터 등)의 경우 컴퓨터 기술 외적으로 물리적인 보안에서 차이가 나기 때문에 전용컴퓨터 정도의 보안을 보장할 수는 없을 것 같다. 1.13  The issue of resource utilization shows up in different forms in different types of operating systems. List what resources must be managed carefully in the following settings: a. Mainframe or minicomputer systems 한 대에 여러사람이 접속하기 때문에 cpu time, memory, I/O 가 효율적으로 공평하게 공유될 수 있게 고려해야한다. b. Workstations connected to servers c. Mobile computers 1.4 Describe the differences between symmetric and asymmetric multiprocessing. Wh...

Popular posts from this blog

Operating System Concept

Operating System Concepts 9th

스티키 헤더 여러개 만들기 (Multiple sticky header)