전체 글

공부 기록을 남기며 게시글 리팩토링을 진행하는 블로그입니다.
코딩테스트/백준

백준 19941 햄버거 분배

해결 언어는 자바이다. 아래는 예시이다. 언어는 자바이다. 해결법 1. 먼저 총 문자열 개수와 먹을 수 있는 범위를 입력받는다. 2. 이후 햄버거와 사람에 대한 문자열을 모두 요소를 분리해 배열로 만든다. 3. 이제 사람을 나타내는 P가 배열 요소일 때, 그 자리가 i라면 i-range부터 i+range 까지 배열 요소에 햄버거가 있는지 살핀다. 햄버거를 나타내는 문자열은 "H"이다. 4. 물론 범위는 0보다는 같거나 크고 배열 길이보다는 작아야 한다. 5. 만약 햄버거가 있다면 먹었다는 표시로 "E"로 배열의 요소를 바꾸고 횟수를 세는 변수인 cnt를 증가시킨다. 햄버거 1개를 찾으면 멈추게 break문을 사용한다. 6. 모든 반복문이 끝나면 cnt를 출력한다. 해결 코드다. import java.io..

코딩테스트/백준

백준 14241 슬라임 합치기

사용 언어는 자바이다. 다음은 출력 예시다. 해결 방법 최댓값을 구하려면 큰 수들을 먼저 곱해서 점수를 넣고 더한 후 새로운 배열 요소로 집어넣어 최댓값을 구한다. 1. 처음 숫자 개수를 입력받고 다음 문자들을 받는데 띄어쓰기 기준으로 배열로 나눈다. 2. 배열 정렬 메서드를 위해 문자열 배열을 int형 배열로 바꾼다. 3. 정렬 메서드를 이용해서 정렬한다. 4. 배열 맨뒤 큰 수부터 곱해져서 score 변수에 값을 차례로 더한다. 5. 스코어에 들어간 큰 숫자 2개는 배열의 이전 인덱스에 값을 넣어서 다음 차례에 이용되도록 한다. 6. 4,5번을 반복문을 통해 이용하면 스코어가 나온다. 아래는 해결 코드이다. import java.io.BufferedReader; import java.io.InputS..

코딩테스트/백준

백준 1541 잃어버린 괄호

사용 언어는 자바이다. https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 해결법 예를 들어 20-30+30+40-20 우리는 괄호를 쳐서 제일 작은 수를 만들어야 한다. 20-(30+30+40)-20 1. 일단 문자열을 받는다. 2. 문자열 '-' 을 기준으로 나눈다. 3. 길이가 2 이상인 배열 인덱스 요소를 '+'를 기준으로 나눈 후 나눈 것 들을 더하고 더한 값을 해당 인덱스에 넣는다. 4. 이후 모든 배열의 값들을 계산하면 결과가 나..

OS

임계 구역과 임계 구역 해결 방법

2021. 10. 2. 00:51 2022. 6. 22. 15:30 복습을 위한 수정 시작 프로세스는 독립적으로 작업을 할 수도 있고 공유된 자원을 가지고 공동 작업을 할 수도 있다고 이전 장에서 언급했다. 이번에는 본격적으로 여러 프로세스가 한정된 자원을 가지고 공동으로 작업을 할 때 발생할 수 있는 문제에 대해 알아보자. 공유자원 공유자원이란 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말한다. 공유자원은 여러 프로세스가 공동으로 이용하기 때문에 누가 언제 데이터를 읽거나 쓰느냐에 따라 그 결과가 달라질 수 있다. 따라서 프로세스들의 공유 자원 접근 순서를 정하여 예상치 못한 문제가 발생하지 않도록 해야 한다. 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 상황을 '경쟁 ..

Debin
리팩토링하는 블로그