일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin
- 코틀린
- doitandroid
- 코딩
- 프로그래머스
- select
- MySQL
- CS
- 안드로이드
- 자바
- 정처기
- SQL
- join
- 코테
- 정보처리기사
- Til
- 우테코
- java
- 우아한테크코스
- groupby
- 카카오코테
- 안드로이드스튜디오
- 혼공단
- 스터디
- 혼공파
- navermap
- Android
- 혼공챌린지
- 인프런
- 코딩테스트
- Today
- Total
목록전체 글 (272)
Welcome! Everything is fine.
OS가 메모리 관리를 해야하는 이유에 대해 설명하고, 메모리 관리 전략에 대해 설명해주세요.OS가 메모리 관리를 해야하는 이유각각의 프로세스는 독립된 메모리 공간을 갖는다. 따라서 각 프로세스는 다른 프로세스의 메모리 공간에 접근할 수 없다. 오로지 '운영체제'만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 영향을 받지 않는다. 따라서 OS 만이 메모리를 관리할 수 있기 때문에 적절한 관리가 필요하다.가상메모리를 이용한 Swapping메모리 압축페이징 & 세그멘테이션고정 길이 할당 / 가변 길이 할당등의 방식으로 OS가 메모리 관리를 수행할 수 있다.논리 메모리와 물리 메모리다수의 프로세스를 실행하려면 한정된 메모리 공간에 많은 프로세스를 로드할 수 있어야 한다. 그래서 메모리 공간을 더 효율적..
메모리의 힙 영역과 스택 영역의 차이에 대해 설명하고, 힙 영역을 너무 크게 잡으면 어떤 일이 벌어지는지 설명해보세요.프로세스 메모리 구조프로세스는 운영체제로부터 독립된 데이터 영역을 할당받으며, 다른 프로세스의 메모리 영역에 접근할 수 없다. 프로세스의 메모리 영역 구조는 코드, 데이터, 힙, 스택으로 구성된다.코드 영역 : 텍스트 영역이라고도 하며, 실행할 코드가 기계어로 컴파일되어 저장되는 영역. CPU가 해당 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다.데이터 영역 : 전역 변수, 정적 변수, 배열, 구조체 등이 저장되는 영역. 프로그램이 시작되는 동시에 할당되며, 프로그램이 종료되면 소멸한다.힙 영역 : 사용자에 의해 동적 메모리 할당이 일어나는 영역. 자바를 예로 들면 new 키..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이참가자 명단에는 있으나 완주자 명단에는 없는 선수의 이름을 반환하는 문제이다. 주의할 점은 참가자 중에 동명이인이 있을 수 있다는 점이다. 내가 작성한 풀이의 대략적인 흐름은 다음과 같다.참가자 배열을 돌며 HashMap에 형태로 참가자들의 정보를 저장한다.완주자 배열을 돌며 HashMap에 저장된 key와 같은 이름이 나올 경우해당 이름이 1개인 경우, 해당 이름으로 된 key를 삭제한다.해당 이름이 2개 이상인 경우(동명이인이 있을 경우), 해당 이름의 인원수를 1 감소시킨다.위 과정을 거..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 풀이문자열을 순회하며 x와 x가 아닌 다른 글자들이 나온 횟수가 같아질때 문자열을 분리한 후, 그 개수를 반환하는 문제이다. 우선 x가 나온 횟수를 저장할 변수 count와 x가 아닌 다른 글자들이 나온 횟수를 저장할 변수 other를 만들었다. 또한 문자열 s의 첫 번째 문자를 char형 변수 c에 저장하였다. 문자열 s의 길이만큼 for문을 돌며 count와 other가 같을 경우 answer를 1증가시키고, c에 다음 문자를 넣는다. c와 같은 문자가 나오면 count를 1증가, 다른 문자가 ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 문제종류별 가장 큰 물고기와 그 길이를 알아내기 위해 서브쿼리를 사용하였다. 서브 쿼리..어떨땐 잘 풀고 어떨땐 헷갈려서 미치겠다...! SELECT A.ID, B.FISH_NAME, A.LENGTHFROM FISH_INFO A JOIN FISH_NAME_INFO B ON A.FISH_TYPE = B.FISH_TYPEWHERE (A.FISH_TYPE, A.LENGTH) IN (SELECT FISH_TYPE, MAX(LENGTH), FROM FISH_INFO, GROUP BY FISH_TYPE)O..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 정답처음에는 WHERE절에서 평균 길이에 대한 조건을 걸었다가 틀렸는데, 집계함수는 HAVING절에서 작성해야 한다는 것이 생각났다. 따라서 HAVING절에 AVG()로 LENGTH의 평균을 구하는데, LENGTH가 NULL일 경우 10cm로 취급해서 평균을 내야하므로 IFNULL()을 이용하여 NULL일 경우 갖게되는 값을 지정해주었다.SELECT COUNT(ID) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPEFROM FISH_INFOGROUP BY ..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌 정답ITEM_INFO와 ITEM_TREE를 JOIN하여 문제를 풀었다. WHERE절에서는 PARENT_ITEM_ID 중 서브쿼리로 RARITY가 'RARE'인 ITEM_ID가 있을 때를 조건으로 두었다.SELECT ITEM_ID, ITEM_NAME, RARITYFROM ITEM_INFO JOIN ITEM_TREE USING(ITEM_ID)WHERE PARENT_ITEM_ID IN (SELECT ITEM_ID FROM ITEM_INFO JOIN ITEM_TR..
📌 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr📌정답처음에는 까다로워 보이는 문제였지만 차근차근 작성하면 어렵지 않은 문제였다. 먼저 EMP_NO을 기준으로 HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 JOIN하고, HR_GRADE 테이블의 EMP_NO을 기준으로 GROUP BY 하였다. SCORE의 평균으로 구하려면 SCORE 컬럼을 가지고 있어야하기 때문이다. 그리고나서 CASE문을 이용해 GRADE와 BONUS를 작성했다. SCORE의 평균을 내서 평가 등급과 성과금을 결정하도록 했다.SELECT A.EMP_NO, A.EMP_NA..