프로그래밍(101)
-
[프로그래머스] [Level1] 모의고사 - Java
💁♀️ 링크 programmers.co.kr/learn/courses/30/lessons/42840 📃 문제 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해..
2020.12.23 -
[프로그래머스] [Level1] 완주하지 못한 선수 - Java
💁♀️ 링크 programmers.co.kr/learn/courses/30/lessons/42576 📃 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 ..
2020.12.23 -
[프로그래머스] [Level1] 두 개 뽑아서 더하기 - Java
💁♀️ 링크 programmers.co.kr/learn/courses/30/lessons/68644 📃 문제 정수 배열 numbers가 주어진다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 한다. 예) numbers result [2,1,3,4,1] [2,3,4,5,6,7] 2 = 1 + 1 3 = 2 + 1 4 = 1 + 3 5 = 1 + 4 = 2 + 3 6 = 2 + 4 7 = 3 + 4 🐾 문제풀이 1. numbers 배열에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 구한다. ArrayList 사용 List 값이 중복되기 때문에 중복배제하는 코드를 작성해줘야 한다. HashSet 사용 Set인..
2020.12.22 -
[프로그래머스] [Level1] 크레인 인형뽑기 게임 - Java
💁♀️ 링크 programmers.co.kr/learn/courses/30/lessons/64061 📃 문제 정사각 격자안에 인형들이 차곡차곡 쌓여있다. 크레인을 좌우로 움직여 멈춘위치에서 가장 위에 있는 인형을 집어 올린다. 집어 올린 인형은 바구니에 쌓이게 되는데, 가장 아래부터 위로 순서대로 쌓인다. (Stack구조) 같은 모양의 인형 두개가 바구니에 연속해서 쌓이게 되면 그 인형 두 개는 바구니에서 뺀다. 크레인을 모두 동작 후 바구니에서 뺀 (사라진) 인형의 갯수는? 🐾 문제풀이 💻 코드 import java.util.Stack; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack sta..
2020.12.22 -
[OS] Thread - 동기화, Critical Section, 뮤텍스와 세마포어, 교착상태와 기아상태
동기화(Synchronization) ◦작업들 사이에 실행시기를 맞추는 것 ◦여러 스레드가 동일한 자원 접근시 동기화 이슈 발생 ◦동일자원을 여러 스레드가 동시수정하면, 각 스레드 결과에 영향을 준다 동기화 이슈 해결방안 ◦Mutual exclusion(상호배제) ‣ 임계 자원(critical resource) g_count ‣ 임계 영역(critical section) lock.acquire(), lock.release() ◦여러 스레드가 변경하는 공유변수에 대해 Exclusive Access필요! (스레드가 동시 접근하지 못하게 막자) Mutex 와 Semaphore ◦Critical Section(임계영역)에 대한 접근을 막기위한 locking 필요 ◦Mutex(binary semaphore) ‣ ..
2020.12.20 -
[OS] Thread - 개념, 장단점, Thread vs Process
Thread(스레드) ◦ 프로세스 내에서 동작하는 여러 실행의 흐름 ◦ 프로세스가 밧줄이라면 스레드는 밧줄을 이루는 실! ◦ 스레드들은 동시 실행가능 ◦ 프로세스 안에 있으므로 프로세스의 데이터를 모두 접근 가능 ◦ 각기 실행이 가능한 stack존재 Thread 장점 1. 사용자에 대한 응답성 향상 2. 자원 공유 효율 ‣ IPC기법과 같이 프로세스 간 자원공유를 위해 번거로운 작업이 필요없음 ‣ 프로세스 안에 있으므로 프로세스의 데이터 모두 접근 가능 Thread 단점 1. 스레드 중 한 스레드만 문제가 있어도 전체 프로세스가 영향을 받음 2. 스레드를 많이 생성하면 Context Switching이 많이 일어나 성능저하 Process와 Thread 비교
2020.12.20