본문 바로가기

전체 글91

운영체제 요약 프로세스 vs 스레드 차이프로세스는 독립된 메모리 공간을 가지는 실행 단위이고,스레드는 같은 프로세스 내에서 메모리를 공유하는 실행 흐름이다.스레드는 생성 비용이 낮지만 동기화 문제가 발생할 수 있다. 멀티스레드 환경에서 문제점공유 자원에 동시에 접근하면서 동기화 문제가 발생할 수 있다.잘못 설계하면 데드락, 레이스 컨디션이 생긴다.디버깅과 테스트가 단일 스레드보다 훨씬 어렵다. 동기 / 비동기 차이동기는 요청 후 결과가 나올 때까지 다음 작업을 기다린다.비동기는 요청을 보내고 결과와 상관없이 다음 작업을 수행한다.비동기는 자원을 효율적으로 쓰지만 흐름이 복잡해질 수 있다. 블로킹 / 논블로킹 차이블로킹은 작업이 끝날 때까지 호출한 스레드가 멈춘다.논블로킹은 작업 완료 여부와 상관없이 바로 제어권을 돌려.. 2026. 1. 24.
모의고사 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 각 항생이 찍는 패턴을 분석해서 가장 많이 맞추는 학생을 배열로 리턴해주는 문제이다 그래서 첫번째로 각 학생들이 찍는 패턴을 배열로 만든다음순환을 해야하기때문에 % 연산을 통해 01234...01234 인덱스에 접근할 수 있도록 만들어준다 이후 맞춘 갯수가 동일 할 수도 있기때문에 리스트를 하나 만들어서 그 안에 max랑 count가 동일한 학생을 저장해 준다음마지막으로 배열을 리턴받기때문에 list를 다시 배열로 변환해준다import jav.. 2026. 1. 15.
폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 박사님이 포켓몬을 트레이너에게 줄때 가장 다양하게 포켓몬을 가져갈수있는 포켓몬의 종류의 수를 구하는 문제이다하지만 조건이 n마리의 포켓몬이 있을때 n/2 만큼만 가져갈수 있다고 했으니까 가장 다양하게 포켓몬을 가져갈 수 있는 경우의 수는 n/2 가 될꺼고 만약 111222 이렇게만 있으면 n/2는 3이지만 112 121 이렇게 가져가야하니까 결과적으로는 2종류의 포켓몬을 가져가게된다 결국 포인트는 포켓몬 종류의 수를 카운트하는게 중요하다고 생각했다종류의 .. 2026. 1. 14.
[1차] 비밀지도 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 위 문제는 지도 두개를 겹쳐서 1인 부분을 #으로 바꾸는 문제이다 결국 지도 두개를 겹친다는것은 or 연산을 수행하라는것이기 때문에 or 연산을 수행 한 후 나온 정수를 이진 문자열로 다시 바꾼다음replace를 통해 1은 #으로 0은 공백으로 바꿔주면 문제가 해결이된다Integer.toBinarayString 은 0은 입력을 해주지 않기때문에 0을 위에서 문자열의 길이 - 우리가 바꾼 이진의 길이를 해서 0부분을 채워주는것을 까먹지 말자!class S.. 2026. 1. 14.
문자열 내 마음대로 정렬하기 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 input으로 들어온 자리의 숫자를 기준으로 문자열 배열을 정렬시키는 문제이다import java.util.*;class Solution { public String[] solution(String[] strings, int n) { String[] answer = new String[strings.length]; String[] base = new String[strings.length]; for(.. 2026. 1. 13.
명예의 전당 (1) https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 점수가 계속해서 갱신될때마다 제한된 갯수만큼만 명예의 전당에 남기고 명예의 전당에 헌액된 점수들중에 최하점을 answer에 담에 리턴하는 문제이다 최소값을 계속해서 갱신 및 answer에 담아야 하기 때문에 최소힙을 사용해서 문제를 해결했다 class Solution { public int[] solution(int k, int[] score) { int[] answer = new int[score.length]; .. 2026. 1. 13.