[문제] [해설] - 문제를 보고 이건 재귀함수를 이용해야하는걸 느꼈다. - 아직 재귀함수를 공부하지 않았는데... 느낌상 요래저래 코드를 짜다보니 아래와 같이 풀었다. - 사실 반드시 재귀함수를 이용할 필요는 없다. 반복문만 사용해도 된다. class Solution { public int solution(int a, int b, int n) { // a : 마트에 주어야 하는 병 수 // b : 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 // n : 상빈이가 가지고 있는 빈 병의 개수 int answer = this.howBottle(a, b, n, 0); return answer; } private int howBottle(int a, int b, int n, int count) { // ..
[문제] ※ 주의 - goal의 원소는 cards1, cards2의 원소들로만 이루어져 있다. - 하지만 card1, cards2에는 goal에 없는 원소도 있을 수 있다. - cards1과 cards2에는 서로 다른 단어만 존재한다.(중복되는 단어가 없다는 얘기다.) cf) 추가 테스트 케이스 card1 : [a, b, c] card2 : [d, e] goal : [b, c, d, e] [해설] - 이러쿵 저러쿵 하면서 어떻게든 풀어보려 했는데 결국 못 풀었다. - 다른 사람의 풀이를 참고하며 오답 정리를 해보자 1. import java.io.*; class Solution { public String solution(String[] cards1, String[] cards2, String[] goa..
● FIFO와 SJF - 이전 글을 통해 FIFO 알고리즘에서는 Burst Time(CPU 작업 시간)이 짧은 작업이 먼저 실행 됐을 때 평균 대기 시간이 짧아졌다는 것을 알 수 있었다.(프로세스 작업 순서에 따라 평균 대기 시간이 달라진다.) - 그렇다면 프로세스가 들어온 순서대로가 아니라 Burst Time이 짧은 프로세스를 먼저 실행하면 FIFO 알고리즘의 단점을 극복할 수 있을 것이다. - Burst Time이 짧은 프로세스를 먼저 실행하는 알고리즘이 바로 SJF(Shortest Job First)이다. ● SJF - 이론적으로만 보면 SJF는 FIFO 보다 더 성능이 좋은 알고리즘이라고 할 수 있다. - 하지만 SJF의 실제 구현에는 여러 현실적인 문제가 있기에 SJF 알고리즘은 사용되지 않는다..
2023.02.05 - [자료구조 및 알고리즘] - #7 큐(Queue) - 개념(FIFO : First In First Out) #7 큐(Queue) - 개념(FIFO : First In First Out) - 큐(Queue)도 Stack과 같이 단순한 규칙을 가지고 있는 리스트이다. - 규칙 : FIFO(First In First Out) - 즉, 먼저 들어간 데이터가 가장 먼저 나온다는 의미로서 먼저 들어간게 가장 나중에 나오는 Stack과 radderveloper.tistory.com ● FIFO - CPU 스케줄링 알고리즘(FIFO, SJF, RR, MLFQ) 중 하나인 FIFO에 대해 알아보자 - FIFO(First In First Out) : 먼저 들어온 작업이 먼저 처리된다.(나간다.) 즉..
- 미리 읽어보자 2023.02.26 - [운영체제] - #9 컨텍스트 스위칭(Context switching) #9 컨텍스트 스위칭(Context switching) 2023.02.22 - [운영체제] - #7 PCB(Process Control Block) - 프로세스 제어 블록 #7 PCB(Process Control Block) - 프로세스 제어 블록 ● PCB - 프로그램이 메모리에 올라가서 실행중인 상태를 프로세스라고 하며 OS는 radderveloper.tistory.com ● 스케줄링의 목표 - 스케줄링의 목표에는 여러가지가 있다. 1. 리소스 사용률 - 해당 목표는 CPU 사용률을 높이는 것일 수도 있고 I/O 디바이스의 사용률을 높이는 것을 목표로 할 수도 있다. 2. 오버헤드 최소화 ..
[문제] [해설] - for 문 3개를 사용하면 됐기에 문제 자체는 어렵지 않았다. - 다만 3중 for 문 말고 다른 방법이 없을까 계속 시도를 해봤는데 결국 찾지 못 했다. - 다른 사람들의 풀이를 보니 해당 문제는 재귀 함수를 사용할 수 있냐 없냐를 물어보는 문제 같았다. - 재귀 함수를 먼저 공부한 후에 해당 문제를 다시 봐야겠다. - 답을... 맞추긴 맞췄다. class Solution { public int solution(int[] number) { int answer = 0; int lastIndex = number.length - 1; int firstNum = 0; int secondNum = 0; int thirdNum = 0; for(int i = 0; i < number.lengt..
- Total
- Today
- Yesterday
- nosql
- 메모리
- 빅데이터 분석기사
- java
- 자료구조
- Advanced Stream
- SQL
- 코딩테스트
- OS
- MongoDB
- 알고리즘
- Stream
- 코테
- 프로세스
- Java8
- Phaser3
- 빅데이터
- node.js
- Phaser
- git
- 프로그래머스
- 운영체제
- Spring Boot
- spring
- SpringBoot
- MySQL
- DART
- jpa
- db
- API
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |