전체 글400 [Leet Code] Group Anagrams : Java Group Anagrams - LeetCode Can you solve this real interview question? Group Anagrams - Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase leetcode.com 이해하기 같은 문자들로 이루어진 것끼리 List를 이루도록 하여 이중 List로 반환하는 문제였다. 예를 들어 strs = {"eat", "tea", "tan", "ate", "nat.. 2024. 3. 4. [OS] 쉽게 배우는 운영체제 6장 연습문제/심화문제 연습문제 1. 2개 이상의 프로세스가 서로 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 무엇이라 하는가? 교착상태 2. 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 나타내는 방향성이 있는 그래프를 무엇이라 하는가? 자원 할당 그래프 3. 네 가지 교착 상태 필요조건에 대해 설명하시오. ① 상호 배제 : 배타적인 자원이어야 한다. ② 비선점 : 비선점 자원이어야 한다. ③ 점유와 대기 : 자원을 할당 상태에서 다른 자원을 기다리는 상태여야 한다. ④ 원형 대기 : 점유와 대기를 하는 프로세스 간 관계가 원을 이루어야 한다. 4. 교착 상태 해결 방법 중, 교착 상태를 유발하는 네 가지 조건을 무력화하는 방법은 무엇인가? 교착 상태 예방 5. 교착 상태 해결 방법 중.. 2024. 2. 29. [OS] Ch.6 교착상태 1. 교착상태의 개요 1. 교착상태의 정의 교착상태 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 아사현상과의 차이점 아사현상은 운영체제가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제 교착상태는 여러 프로세스가 작업을 진행하다 보니 자연적으로 일어나는 문제 따라서 운영체제는 감시를 하다가 교착 상태가 발생하면 강압적으로 해결해야 함 2. 교착상태의 발생 컴퓨터 시스템에서 교착 상태는 시스템 자원, 공유 변수(또는 파일), 응용 프로그램 등을 사용할 때 발생 가능 시스템 자원 어떤 프로세스가 임계구역으로 보호되는 프린터, 스캐너, CD 레코더 등 동시에 같이 사용할 수 없는 시스템 자원을 할당받은 후 양보하지 않은 경우 공유 변수 한 .. 2024. 2. 29. [OS] 쉽게 배우는 운영체제 5장 연습문제/심화문제 연습문제 1. 프로세스 간 통신에서 데이터를 양방향으로 전송 가능하지만 동시 전송은 불가능하고 특정 시점에 한쪽 방향으로만 전송할 수 있는 통신 방식은 무엇인가? 반양방향 통신 2. 상태 변화를 살펴보기 위해 반복문을 무한 실행하며 기다리는 것을 무엇이라 하는가? 바쁜 대기 3. 프로세스 간 통신에서 대기가 없는 통신과 대기가 있는 통신의 예를 각각 제시하시오. 대기가 없는 통신 : 전역변수, 파일 / 대기가 있는 통신 : 소켓, 파이프 4. 파이프를 이용하여 통신할 때 파이프를 2개 사용하는 이유는 무엇인가? 파이프는 단방향이라, 2개를 사용하면 양방향 통신이 가능하다. 5. 공유 자원을 병행적으로 읽거나 쓰는 상황을 무엇이라 하는가? 경쟁 조건 6. 공유 자원의 접근 순서에 따라 실행 결과가 달라지는.. 2024. 2. 29. [Lv.2] 문자열 압축 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음 생각했던 건 문자열의 길이의 약수들로 쪼개어보는 것이었다. 예를 들어 "aabbaccc" 의 길이는 8이니 스스로를 제외한 약수인 1, 2, 4로 문자열을 쪼개보는 것이다. 하지만 역시나 fail... 왜일까 생각해봤는데 약수로 접근했던 방법이 틀렸던 것 같다. 굳이 약수가 아니더라도 주어진 문자열의 절반까지만 for문을 돌리면 된다. (절반으로 잡은 이유 : 절반을 넘게 되면 2번 이상 반복 불가) 문제풀이 class Solution { public int solution(String s) {.. 2024. 2. 28. [Lv.2] 거리두기 확인하기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 대기실의 모든 자리를 탐색하면서 모든 P를 찾는다. 모든 P에 대해서 거리두기를 만족하는지 확인한다. BFS 이용하기! 문제풀이 1. 대기실의 모든 자리를 탐색하면서 'P'를 찾는다. 2. BFS를 돌리며 맨해튼 거리 2 이내에 P가 또 있는지 확인한다. 2 2 1 2 2 1 P 1 2 2 1 2 2 거리두기를 지키기 위해 1번 자리에 와도 되는 것은 'O'나 'X'이다. 1번 자리에 'P'가 온다면 ? false 1번 자리에 'X'가 온다면? 막혀있는 것이므로 2번 자리에 무엇이 와도 상관 없음 →.. 2024. 2. 28. 이전 1 ··· 30 31 32 33 34 35 36 ··· 67 다음