분류 전체보기

설명      풀이 id와 priority를 가진 Person 클래스를 만든다.priority를 입력받을 때, Queue에 Person 클래스를 담아 입력받는다. 핵심 로직은 다음과 같다.초기 answer 값은 0이다. 큐가 비어있지 않는 동안 계속 진행한다.한 명의 환자를 큐에서 꺼낸다.큐를 순회하면서, 방금 꺼낸 한 명의 환자보다 우선순위가 높은 환자가 있는지 조사한다.현재 환자의 우선순위보다 높은 우선순위를 가진 환자가 있다면현재 환자를 큐의 제일 끝에 다시 넣는다.현재 환자를 비도록 한다.반복문을 멈춘다.반복문이 끝났는데 현재 환자가 null이 아니라면answer를 1 증가시킨다.현재 환자가 찾고자 하는 환자인지 확인한다.맞다면 그대로 answer를 리턴한다. answer를 리턴한다.     코드..
설명      풀이 필수과목 순서로 입력받은 문자열을 순회하며 큐에 넣는다.계획한 문자열을 순회하면서 다음 로직을 수행한다.필수과목에 포함되어 있다면 큐에서 꺼낸 값이 해당 값과 동일한지 확인한다.동일하지 않다면 교육과정을 잘못 짠 것으로, 바로 "NO"를 리턴한다. 순회가 끝난 후 큐가 비어있지 않다면 들어야 하는 필수과목이 남아있는 것이므로 "NO"를 리턴한다.     코드package inflearn._5_7;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import jav..
·Baekjoon
문제     풀이패킷이 먼저 들어온 것이 먼저 처리되므로, FIFO(First In First Out)의 자료구조인 큐를 사용하면 된다. 입력은 while(true)로 계속 받는다. 입력 받은 수가 -1 이라면 while문을 빠져나온다. 입력 받은 수가 양의 정수이고, 큐의 크기가 버퍼 크기보다 작다면, 큐에 해당 수를 넣는다.입력 받은 수가 0이라면 큐에서 값 하나를 뺀다.입력 받은 수가 양수이지만 큐의 크기가 버퍼 크기와 같거나 크면, 아무것도 하지 않는다. 반복문을 빠져나와서, 큐가 비었는지 확인하여 비었다면 empty를 StringBuilder에 추가한다.큐가 비어있지 않다면, 반복문이 빠져 나온 시점에 큐의 크기를 변수 하나에 저장해 둔다. (그렇게 하지 않으면, 큐에서 수를 하나 꺼낼 때 마다..
·Baekjoon
문제   풀이큐를 사용하는 문제이다. 다만 큐에 저장을 할 때, 배열 형태로 저장했다. 큐의 [0]은 인덱스 번호, 큐의 [1]은 필요한 피자의 양이다.그래서 큐를 LinkedList queue 로 선언했다. 핵심 로직은 다음과 같다. 큐가 빌 때 까지 반복한다.시간을 1 증가시킨다.큐의 가장 첫 번째 요소를 가져온다.요소[0]은 고유한 사람의 인덱스 번호, 요소[1]은 필요한 피자의 양이다.요소[1]-1 이 0이라면 정답 배열의 요소[0] 값에 시간값을 넣는다.그렇지 않다면 해당 요소[0]은 그대로, 요소[1]은 -1 한 값(피자를 하나 먹었으므로!) 을 큐의 맨 뒤에 넣는다.   코드package baekjoon._15235;import java.io.BufferedReader;import java...
·Jenkins
Jenkins에서 새로운 Maven 프로젝트를 만들고, Github에서 소스코드를 가져와 빌드하여 실행해보자.    새로운 Item을 선택하고, 이름은 My-Second-Project로 작성 후 Maven Project를 선택하고 OK를 클릭한다.   설명에는 My maven project build 라고 작성하고 Apply를 클릭했다.   소스 코드 관리 탭에 들어와서 Git을 선택하고 Repository URL을 입력한다. 나는 Repository를 Public으로 설정했기 때문에 Credentials는 선택하지 않았다. Apply를 클릭한다.   PreSteps 탭으로 들어와 Build에서, Root POM에는 pom.xml이 작성되어 있을 것이다. Goals and options에 clean co..
·Jenkins
1. Jenkins에서 GitHub 사용하기[Jenkins 관리] - [Plugins] - [Installed plugins] 에서 github 검색 후 Github plugin이 있는지 확인한다.없다면 Available plugins 탭에서 설치하면 된다.    [Jenkins 관리] - [Tools] 을 클릭한다.    밑으로 내려가면 Git installations가 보인다. 기본으로 Name은 Default, Path to executable에 git 이라고 작성되어 있는 것을 볼 수 있다. 그러면 Jenkins가 설치되어 있는 PC에서 git이란 커맨드를 사용하겠다는 뜻이다.   docker desktop에서 Jenkins 컨테이너 내부로 접속한 후 간단한 git 버전을 확인하는 명령어인 git..
·Baekjoon
문제     풀이자료구조는 큐를 사용하는 문제이다. 나는 back 때문에 Queue가 아닌 LinkedList로 문제를 풀었다. Queue는 FIFO(First In First Out) 데이터 구조의 인터페이스로, Java Collection Framework의 일부이다. 반면 LinkedList는 구체적인 클래스로, List와 Deque 인터페이스를 모두 구현한다. 여기서 Deque는 양방향 큐를 의미하며, Queue 인터페이스를 확장하고 있다. Queue 인터페이스의 주요 메소드는 다음과 같다.boolean add(E e): 큐에 요소를 추가한다. 큐가 꽉 찼을 경우 예외를 던진다.E remove(): 큐에서 요소를 제거하고 반환한다. 큐가 비어있을 경우 예외를 던진다.E poll(): 큐에서 요소를..
설명정보 왕국의 이웃 나라 외동딸 공주가 숲속의 괴물에게 잡혀갔습니다.정보 왕국에는 왕자가 N명이 있는데 서로 공주를 구하러 가겠다고 합니다.정보왕국의 왕은 다음과 같은 방법으로 공주를 구하러 갈 왕자를 결정하기로 했습니다.왕은 왕자들을 나이 순으로 1번부터 N번까지 차례로 번호를 매긴다.그리고 1번 왕자부터 N번 왕자까지 순서대로 시계 방향으로 돌아가며 동그랗게 앉게 한다.그리고 1번 왕자부터 시계방향으로 돌아가며 1부터 시작하여 번호를 외치게 한다.한 왕자가 K(특정숫자)를 외치면 그 왕자는 공주를 구하러 가는데서 제외되고 원 밖으로 나오게 된다.그리고 다음 왕자부터 다시 1부터 시작하여 번호를 외친다.이렇게 해서 마지막까지 남은 왕자가 공주를 구하러 갈 수 있다.    예를 들어 총 8명의 왕자가 ..
coding-orange
'분류 전체보기' 카테고리의 글 목록 (3 Page)